webdevqa.jp.net

JSTL、ELを使用してJSPページでブラウザのユーザーエージェントをどのように確認しますか?

ブラウザのユーザーエージェントをチェックして、IE6かどうかを確認する必要があります。ただし、これを行うためにスクリプトレットを使用するべきではありません(スクリプトレットなしのポリシーがあります)。

現在使用しています

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

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

スクリプトレットではなくJSTL、ELなどを使用してこれを行う最もクリーンな方法は何ですか?

17
<c:set var="browser" value="${header['User-Agent']}" scope="session"/>
25
laginimaineb
<c:if test="${fn:contains(header['User-Agent'],'MSIE')}"></c:if>
20
Zoltan

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>
1