2009-06-09 8 views
16

Je dois vérifier l'agent utilisateur du navigateur pour voir s'il s'agit d'IE6. Cependant, je ne devrais pas utiliser de scriptlets (nous avons une politique stricte sans scriptlets) pour le faire.Comment vérifiez-vous l'agent utilisateur du navigateur dans une page JSP en utilisant JSTL, EL?

Actuellement j'utilise

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

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

Quelle est la plus propre façon de le faire en utilisant JSTL, EL, etc et non scriptlets?

Répondre

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, vous devez ajouter quatre espaces au début du code afin qu'il s'affiche correctement. – Welbog

1

Si vous utilisez le cadre spring-mobile vous pouvez utiliser ci-dessous pour vérifier le type d'appareil

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