是否允许在三元运算符中嵌套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"}/>
答案 0 :(得分:2)
你实际上没有嵌套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}" />
答案 1 :(得分:0)
尝试下面的一个
<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 } "/>