gpt4 book ai didi

java - 如何做一个字符串包含检查EL

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:10:22 24 4
gpt4 key购买 nike

该应用程序是使用Struts 1.2 框架制作的。我想在 jsp 文件中获取请求 header 主机名,并识别浏览器从 header 中读取 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 Framework 上运行,如果该框架提供了一些更好的方法来读取 JSP 中的 header 值,那么也请告诉我。否则 EL 也可以。

最佳答案

您需要使用fn:containsfn:containsIgnoreCase

<c:set var="userAgent" value="${header['user-agent']}"/>

然后:

 <c:if test="${fn:containsIgnoreCase(userAgent, 'Chrome')}">
<!-- TODO: -->
</c:if/>

关于java - 如何做一个字符串包含检查EL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14533854/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com