首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在EL中执行字符串包含检查

如何在EL中执行字符串包含检查
EN

Stack Overflow用户
提问于 2013-01-26 12:27:20
回答 1查看 1.7K关注 0票数 3

该应用程序是使用Struts1.2框架制作的。我希望获得jsp文件中的请求头hostname,并识别从该头读取user-agent值的浏览器。

下面是我使用scriptlet编写的代码:

代码语言:javascript
复制
String userAgent = request.getHeader("user-Agent");
if(userAgent.contains("Chrome")){
    userAgent = "Chrome";
}else if(userAgent.contains("Android")){
    userAgent = "Android";
}

代码运行得很好。但我希望避免使用scriptlet,因为它有一些易受攻击的跨站点脚本问题。因此,为了在EL中做同样的事情,我可以使用下面的代码获得头文件:

代码语言:javascript
复制
Host is: ${header["user-agent"]}

但我不确定如何在EL中进行contains检查。

这个应用程序运行在Struts1.2框架上,如果框架提供了一些更好的方法来读取JSP中的头值,那么也请让我知道它。除此之外,EL也很好。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-26 12:50:47

您需要使用fn:containsfn:containsIgnoreCase

代码语言:javascript
复制
<c:set var="userAgent" value="${header['user-agent']}"/>

然后:

代码语言:javascript
复制
 <c:if test="${fn:containsIgnoreCase(userAgent, 'Chrome')}">
  <!-- TODO: -->
 </c:if/>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14533854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档