我有以下代码来设置 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#${userId})" />
<c:set var="userId" >(Cust#${userId})</c:set>
关于java - JSTL 标记内使用的 EL 表达式之前的“#”字符表现奇怪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1044430/