Тег Struts ‹s:if не оценивается при использовании информации от геттеров

Попытка оценить следующее, но, похоже, не работает

  <s:set name="infoType" value='%{"info.aero.aeroType"}' />
  <s:if test='%{#infoType == "A"}'>
    <span> got it </span>
</s:if>

тип возвращаемого значения для aeroType — это String, установленный в классе Java, и он возвращает алфавит «A» или «B». Если infoType равен A, мне нужно выполнить некоторые вычисления. Как заставить это работать?


person Saram Rose    schedule 07.06.2013    source источник


Ответы (1)


  1. Используйте var вместо name, потому что это устарело

  2. Общая информация о проверке односимвольных строк (вы уже переворачиваете кавычки, тогда эта часть верна)

  3. Это ваша настоящая проблема: вы заключаете <s:set значение в двойные кавычки; таким образом вы говорите OGNL взять эту буквальную строку вместо чтения объекта из стека;

затем измените это

<s:set name="infoType" value='%{"info.aero.aeroType"}' />

к этому

<s:set var="infoType" value="%{info.aero.aeroType}" />

и это сработает

person Andrea Ligios    schedule 07.06.2013