如何在struts标签中访问iterator变量?

时间:2014-05-13 07:05:26

标签: java jsp struts2

我循环遍历列表并想要访问该值以创建文本输入字段。 Unfortunatley我未能访问<s:textfield>标记内的循环变量

这就是我的尝试:

  <s:iterator var="tag" value="searchTagList">
    <s:property value="#tag"/>
    <s:textfield key="searchResults.#tag" name="#tag" value="#tag" />
  </s:iterator>

正确评估<s:property value="#tag"/>并显示循环变量。但永远不会评估#tag中的<s:textfield>。我还尝试将<s:property value="#tag"/>代替#tag而没有成功。

1 个答案:

答案 0 :(得分:1)

使用标记的key属性而不是三个namevaluelabel。至于你已定义的两个,你可以改变

<s:textfield label="%{getText('searchResults.'+#tag)}" name="%{#tag}" />

该值由name属性检索。您应该为name属性中评估的名称提供getter。请注意,如果您的操作延伸getText(),则ActionSupport可用。您必须在名称标签中强制进行名称评估。