java - JSTL 标记内使用的 EL 表达式之前的“#”字符表现奇怪

标签 java string jsp jstl el

我有以下代码来设置 userId 变量:

(之前代码中设置的userId)

<c:set var="userId" value="(Cust#${userId})" />

生成以下字符串:(Cust#${userId})

但是,以下代码可以按预期工作:

<c:set var="userId" value="(Cust# ${userId})" />

显示以下字符串 (Cust# 0001)。

为什么“${string}”表达式之前的“#”字符会阻止对字符串求值?我可以使用一种不需要插入空格的解决方法吗?

最佳答案

由于 JSF 将使用:

#{userId}

为了返回用户 ID,我大胆猜测这要么是错误,要么是由 # 符号引起的预期行为,导致解析器不高兴。只需使用以下任一:

<c:set var="userId" value="(Cust&#35;${userId})" />
<c:set var="userId" >(Cust&#35;${userId})</c:set>

关于java - JSTL 标记内使用的 EL 表达式之前的“#”字符表现奇怪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1044430/

相关文章:

java - 从 Spring-Shell 中删除命令

java - 在 Intellij IDEA 14.1.4 : Cannot run program "C:/Program Files (x86)/Java/jdk1.8.0_45/bin/java"

java - 为什么我的程序无法运行?

java - 在第二个数据源关闭的情况下运行 Spring Boot 应用程序

java - HTTP 请求是从 JSP 与 servlet 通信的唯一方法吗?

java - 添加文本 java requestDispatcher

C# 静态类与预定义字符串的结构

javascript - 我如何编写名为 validate(z) 的函数,该函数接受一个字符串作为参数,如果包含 1 "@"符号,则返回 true ,并且至少包含 1 ".",否则返回 false

ios - 从 Objective C 调用 Swift 中定义的 NSString 扩展

java - 如何在JSP中调用方法及其变量?