2015年9月18日金曜日

ストラッツのイテレータでちょっとハマった話

普通にList<String>のリストを用意して内容を出力する場合は以下でよい。
<s:iterator value="dataList">
<s:property/>
</s:iterator>

そこで、値がXXXXと一致する場合はボールドにしたいとかの場合は

<s:iterator value="dataList">
<s:if test="anyValue == <s:property/>">
<b><s:property/></b>
<s:if>
<s:if test="anyValue != <s:property/>">
<s:property/>
<s:if>
</s:iterator>
ってできるのかな。あれボールドにならない。
※anyValueはアクションに定義されている変数とします。

どうもtest句の中では<s:property/>は動かないみたい。
どうしよう。。。で以下で解決。

<s:iterator id="data" value="dataList">
<s:if test="anyValue == #data">
<b><s:property/></b>
</s:if>
<s:if test="anyValue != #data">
<s:property/>
</s:if>
</s:iterator>

イテレータにidをつけて#で参照した。

0 件のコメント:

コメントを投稿