Тернарный оператор в JSP EL не работает - PullRequest
2 голосов
/ 28 сентября 2010

Разрешено ли вложение тройных выражений в троичный оператор?

Что не так со следующим выражением?

<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"}/>           

Ответы [ 2 ]

2 голосов
/ 28 сентября 2010

Вы на самом деле не вкладываете выражения 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}" />           
0 голосов
/ 28 сентября 2010

просто попробуйте с приведенным ниже

<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 } "/>     
...