(Не ответ, а два предложения, и мне нужно форматирование; ответ Андреа правильный.)
Для спокойствия себя и тех, кто последует, превратите этот кусок JSP в одну строку:
<s:iterator value="themes">
<tr>
<s:set var="currTheme" value="%{userTheme == themeName ? 'red' : 'green'}"/>
<td bgcolor="${currTheme}">Cell content</td>
</tr>
</s:iterator>
Рассмотрите возможность использования CSS с названием темы вместо встроенного CSS и полностью избегайте его, грубо говоря:
td.theme1 {
background-color: red;
}
td.theme2 {
background-color: green;
}
td.theme3 {
background-color: #daa520;
}
(Предполагается, что темы называются "theme1", "theme2", "theme3", но это не имеет значения.)
<table class="themed-table">
<s:iterator value="themes">
<tr>
<td class="${themeName}">Cell content</td>
</tr>
</s:iterator>
</table>
Было бы лучше переместить информацию о стиле «вверх» на уровень, например, table.theme1 td
, но вы поняли идею. Это дает большую гибкость в том, откуда берется информация о теме и так далее.
person
Dave Newton
schedule
24.12.2012