2009-06-09 3 views
16

ブラウザのユーザーエージェントがIE6かどうかを確認する必要があります。しかし、私はこれを行うためにスクリプトレットを使用すべきではありません(私たちは厳格なスクリプトレットポリシーを持っていません)。JSTL、ELを使用してJSPページでブラウザのユーザエージェントを確認するにはどうすればよいですか?

現在、私は

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

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

を使用して、このなどJSTL、ELを、使用していないスクリプトレットを実行するクリーンな方法は何ですか?

答えて

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では、コードが正しく表示されるように、コードの先頭に4つのスペースを追加する必要があります。 – Welbog

1

あなたがspring-mobileフレームワークを使用している場合は、デバイスタイプ

<%@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> 
関連する問題