该应用程序是使用Struts1.2框架制作的。我希望获得jsp文件中的请求头hostname,并识别从该头读取user-agent值的浏览器。
下面是我使用scriptlet编写的代码:
String userAgent = request.getHeader("user-Agent");
if(userAgent.contains("Chrome")){
userAgent = "Chrome";
}else if(userAgent.contains("Android")){
userAgent = "Android";
}代码运行得很好。但我希望避免使用scriptlet,因为它有一些易受攻击的跨站点脚本问题。因此,为了在EL中做同样的事情,我可以使用下面的代码获得头文件:
Host is: ${header["user-agent"]}但我不确定如何在EL中进行contains检查。
这个应用程序运行在Struts1.2框架上,如果框架提供了一些更好的方法来读取JSP中的头值,那么也请让我知道它。除此之外,EL也很好。
发布于 2013-01-26 12:50:47
您需要使用fn:contains或fn:containsIgnoreCase
<c:set var="userAgent" value="${header['user-agent']}"/>然后:
<c:if test="${fn:containsIgnoreCase(userAgent, 'Chrome')}">
<!-- TODO: -->
</c:if/>https://stackoverflow.com/questions/14533854
复制相似问题