Ответ 1
<c:set var="browser" value="${header['User-Agent']}" scope="session"/>
Мне нужно проверить пользовательский агент браузера, чтобы узнать, является ли он 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>
Если вы используете spring-mobile framework, вы можете использовать следующие для проверки типа устройства
<%@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>