【发布时间】:2013-01-26 04:27:19
【问题描述】:
该应用程序是使用 Struts 1.2 框架制作的。我想在jsp文件中获取请求头的主机名,并识别从头中读取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 签入。
这个应用程序在 Struts 1.2 框架上运行,如果框架提供了更好的方法来读取 JSP 中的标头值,那么也请告诉我。否则EL也可以。
【问题讨论】: