Поддерживает ли JETT несколько операторов IF?

Я использую JETT для преобразования некоторых листов Excel. Мне нужно применить условное форматирование внутри.

Это мой код внутри ячейки документа электронной таблицы:

<jt:forEach items="${getValues()}" var="item" indexVar="index" copyRight="true">
   <jt:if test="${index%5 == 0}">
      <jt:style style="border-left: medium">
         ${index}, ${item}
      </jt:style>
   </jt:if>
</jt:forEach>

Это хорошо, циклически повторяющиеся значения и вставка значения / форматирования в каждую 5-ю ячейку. Однако мне нужно отформатировать, например, каждую 10-ю ячейку другим способом. Так что в основном это еще один оператор IF. Но когда я попытался поставить другой оператор IF после первого, ничего не вставляется / не форматируется. Вот что я пробовал:

<jt:forEach items="${getValues()}" var="item" indexVar="index" copyRight="true">
   <jt:if test="${index%5 == 0}">
      <jt:style style="border-left: medium">
         ${index}, ${item}
      </jt:style>
   </jt:if>
   <jt:if test="${index == 14}">
      <jt:style style="border-right: medium">
         ${index}, ${item}
      </jt:style>
   </jt:if>
</jt:forEach>

Любой способ использовать несколько операторов IF в одном цикле jt:forEach или что-то вроде ELSE-IF?

Спасибо

2 ответа

Вероятно, это проблема, уже описанная здесь:

https://sourceforge.net/p/jett/tickets/10/

Я предполагаю, что эта проблема не устранена, поэтому обходной путь - написать все (тест и стили) в блоке кода JEXL непосредственно в style="${your code goes here}"

Итак, поскольку обходной путь, представленный в заявке выше, может сбивать с толку, поскольку он использует тег сценария без тела, вот некоторый код, который работает с логикой в jt:style тег:

<jt:forEach items="${items}" var="item" indexVar="index"> 
<jt:style style="font-color: ${index % 2 == 0 ? 'red' : 'blue'}">
${item} / ${index}  
</jt:style>
</jt:forEach>
Другие вопросы по тегам