2009-06-09 22 views
16

IE6 olup olmadığını görmek için tarayıcının kullanıcı aracısını kontrol etmeliyim. Ancak, bunu yapmak için betik kullanmamalıyım (kesinlikle bir betik ilkemiz var).Tarayıcının kullanıcı aracısını JSTL, EL? Kullanarak bir JSP sayfasında nasıl kontrol edersiniz?

Şu anda

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

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

bu kullanarak JSTL, EL, vs değil komut dosyası uygulamacıklarını yapmak en temiz yolu nedir

kullanılır?

cevap

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, kodun başına düzgün bir şekilde görüntülenecek şekilde dört boşluk eklemeniz gerekir. – Welbog

1

Eğer spring-mobile çerçeve kullanıyorsanız, aygıt türü kontrol etmek için aşağıdaki kullanabilirsiniz

<%@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> 
İlgili konular