I am trying to compare two values : one from session and anther from iterator
<s:iterator value="themes" status="currentRecord">
<s:if test="%{usertheme}) == %{themeName}">
<td align="center" bgcolor="red">
</s:if>
<s:else>
<td align="center" bgcolor="green">
</s:else>
</s:iterator>
But I am unable to compare my values, please can you tell me where I am doing mistakes ?
%{}
should be put (if necessary) around all the statement, not in the middle.
For Strings you should use .equals
, .equalsIgnoreCase
, .contains
, .indexOf
etc... Not ==
.
Change to this:
<s:iterator value="themes" status="currentRecord">
<s:if test="%{#session.usertheme.equalsIgnoreCase(themeName)}">
<td align="center" bgcolor="red">
</s:if>
<s:else>
<td align="center" bgcolor="yellow">
</s:else>
....
this works too:
<s:if test="#session.usertheme.equalsIgnoreCase(themeName)">