2009-06-09 24 views
16

Necesito verificar el user-agent del navegador para ver si es IE6. Sin embargo, no debería usar scriptlets (tenemos una estricta política de no scriptlets) para hacer esto.¿Cómo se comprueba el agente de usuario del navegador en una página JSP utilizando JSTL, EL?

Actualmente uso

<% 
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?

Respuesta

24
<c:set var="browser" value="${header['User-Agent']}" scope="session"/> 
19
<c:if test="${fn:contains(header['User-Agent'],'MSIE')}"></c:if> 
+0

Zoltan

+0

Zoltan, debe agregar cuatro espacios al comienzo del código para que se muestre correctamente. – Welbog

1

Si está utilizando spring-mobile marco se 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> 
Cuestiones relacionadas