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

StackOverflow https://stackoverflow.com/questions/968800

質問

私はそれがIE6であるかどうかを確認するために、ブラウザのユーザーエージェントをチェックする必要があります。しかし、私はこれを行うには(私たちは厳格ななしスクリプトレットポリシーを持っている)スクリプトレットを使用しないでください。

現在、私が使用して

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

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

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

役に立ちましたか?

解決

<c:set var="browser" value="${header['User-Agent']}" scope="session"/>

他のヒント

<c:if test="${fn:contains(header['User-Agent'],'MSIE')}"></c:if>

あなたは春・モバイルのフレームワークを使用している場合は、デバイスの種類を確認するには、次の使用することができます

<%@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>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top