2009-06-09 15 views
16

Potrzebuję sprawdzić agenta użytkownika przeglądarki, aby sprawdzić, czy jest to IE6. Jednak nie powinienem używać skryptletów (mamy ścisłą politykę skryptów), aby to zrobić.Jak sprawdzić agenta użytkownika przeglądarki na stronie JSP przy użyciu JSTL, EL?

Obecnie używam

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

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

Co jest najczystsza sposób to zrobić przy użyciu JSTL, EL, etc i nie scriptlets?

Odpowiedz

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, musisz dodać cztery spacje na początku kodu, aby był poprawnie wyświetlany. – Welbog

1

Jeśli używasz spring-mobile ramy można użyć następujących czynności, aby sprawdzić typ urządzenia

<%@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> 
Powiązane problemy