Поддерживает ли 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>