Pregunta

Tengo que comprobar agente de usuario del navegador para ver si es IE6. Sin embargo, no debería utilizar scriptles (tenemos una estricta política de no scriptles) para hacer esto.

Actualmente utilizo

<%
String ua = request.getHeader( "User-Agent" );
boolean isMSIE = ( ua != null && ua.indexOf( "MSIE" ) != -1 );
%>

<% if( isMSIE ){ %>
<div>
<% } %>

¿Cuál es la forma más limpia de hacer esto utilizando JSTL, EL, etc, y no scriptles?

¿Fue útil?

Solución

<c:set var="browser" value="${header['User-Agent']}" scope="session"/>

Otros consejos

<c:if test="${fn:contains(header['User-Agent'],'MSIE')}"></c:if>

Si está utilizando primavera-móvil marco puede utilizar después para comprobar el 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 bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top