Como você verificar agente de usuário do navegador em uma página JSP utilizando JSTL, EL?
-
13-09-2019 - |
Pergunta
Eu preciso verificar user-agent do navegador para ver se é IE6. No entanto eu não deveria usar scriptlets (temos uma estrita política de scriptlets há) para fazer isso.
Atualmente eu uso
<%
String ua = request.getHeader( "User-Agent" );
boolean isMSIE = ( ua != null && ua.indexOf( "MSIE" ) != -1 );
%>
<% if( isMSIE ){ %>
<div>
<% } %>
O que é a forma mais limpa de fazer isso usando JSTL, EL, etc e não scriptlets?
Solução
<c:set var="browser" value="${header['User-Agent']}" scope="session"/>
Outras dicas
<c:if test="${fn:contains(header['User-Agent'],'MSIE')}"></c:if>
Se você estiver usando href="http://projects.spring.io/spring-mobile/" rel="nofollow"> primavera-móvel que você pode usar seguinte para verificar tipo de dispositivo
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<c:choose>
<c:when test="${currentDevice.normal}"><p>"Welcome desktop user"</p> </c:when>
<c:when test="${currentDevice.mobile}"><p>"Welcome mobile user"</p> </c:when>
<c:when test="${currentDevice.tab}"><p>"Welcome tab user"</p> </c:when>
</c:choose>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow