java - JSP EL 中的三元运算符失败

标签 java jsp jstl el

是否允许在三元运算符中嵌套 EL 表达式?

下面的表达式有什么问题?

<input class="text_field" type="text" name="receivedBy" id="receivedBy" style="width:250px;"  maxlength="64" value="${empty obj.val ? obj1.attr1.val ' ' obj2.attr1.val: obj3.val"}/>           

最佳答案

您实际上并没有嵌套 EL 表达式(嵌套看起来像 ${foo${bar}baz} 这实际上是不可能的)。您正在尝试将 EL 结果连接为字符串。您不能以这种方式在 EL 中连接字符串。最好的办法是使用 c:set 来预设它。

<c:set var="obj1obj2val" value="${obj1.attr1.val} ${obj2.attr1.val}" />
<input value="${empty obj.val ? obj1obj2val : obj3.val}" />           

关于java - JSP EL 中的三元运算符失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3812553/

相关文章:

java - Java中的变量函数

jsf - 两个不同h的条件渲染:commandButton actions

java - 使用 JSTL 从 Java Bean 迭代 ArrayList<Map<String, String>>?

java - 将家长文档包含到 zip 文件中

java - 从列表中提取文件名

java - 如何获取 url 中传递的值到模型和 View Controller ?

javascript - 如何将json对象作为参数传递给另一个方法

java - 自定义标签 - 访问模型中的数据?

java - 使用 Spring Security 进行 LDAP 身份验证

java - 使用java servlet将excel文件发送到客户端