dポイントプレゼントキャンペーン実施中!

いつもお世話になっております。

現在Struts2の学習を行っているのですが、
iteratorでlistの中のmapの値を取得しているのですが、
データを表示させるか判定に使用するifのタグの条件に
propertyタグで取得した値を使用としたら、
正しく判定されませんでした。
どうしたらifタグのtest属性内でpropertyタグを使用できるでしょうか?

<table>
<s:iterator id="categoryList" value="categoryList" status="rowstatus" >
<s:property value="CATEGORYNAME"/>
<table border="3">
<s:iterator id="categoryTopicList" value="categoryTopicList" status="rowstatus" >
<s:if test='<s:property value="TCID"/> == <s:property value="CATEGORYID"/>'>
<tr>
<td><s:property value="CATEGORYID" /></td>
<td><s:property value="TCID" /></td>
<td><s:property value="TOPICNAME" /></td>
<td><s:property value="PROCEDURE"/></td>
</tr>
</s:if>
</s:iterator>
</table>
</s:iterator>

というようにjspは記述しています。
ifタグを使わずに表示させると値は取得されていたのでDBエラー等ではありませんでした。
使用しているstruts2のバージョンは2.0.14です。

ifタグにpropertyタグの値を条件として記述する方法を教えてください。
よろしくお願いします。

A 回答 (1件)

<s:if test="#categoryTopicList.TCID == #categoryTopicList.CATEGORYID">


でどうでしょう?
#categoryTopicListは、idに指定してある名前です。

ですから、
<s:iterator id="categoryTopic" value="categoryTopicList" status="rowstatus" >
とした場合は、
<s:if test="#categoryTopic.TCID == #categoryTopic.CATEGORYID">
になります。
    • good
    • 0
この回答へのお礼

ありがとうございます。
ちゃんと条件付することができました。

属性内に取得した値を入れる際には、
id属性を付けてidからデータ指定した方がいいんですね。

大変参考になりました。
ありがとうございました。

お礼日時:2011/07/29 13:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!