如何访问 Struts 标签中的迭代器变量? [英] How to access iterator variable in Struts tag?

查看:26
本文介绍了如何访问 Struts 标签中的迭代器变量?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在遍历一个列表并希望访问该值以创建一个文本输入字段.不幸的是,我无法访问 <s:textfield> 标签内的循环变量

I'm looping over a list and want to access the value to create a text input field. Unfortunatley I'm failing to access the loop variable inside the <s:textfield> tag

这是我尝试过的:

  <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"/> 被正确评估并显示循环变量.但是 <s:textfield> 中的 #tag 永远不会被评估.

The <s:property value="#tag"/> is evaluated correctly and shows the loop variable. But the #tag in the <s:textfield> is never evaluated.

我也尝试用 <s:property value="#tag"/> 代替 #tag 没有成功.

I also tried to put <s:property value="#tag"/> instead of #tag without success.

推荐答案

使用标签的key属性代替三个name,value,标签.至于你已经定义的其中两个,你可以改变

The tag's key attribute used instead of three ones name,value,label. As far as two of them you have already defined, you can change

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

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

The value is retrieved by the name attribute. You should provide a getter for the name evaluated in the name attribute. Note, getText() is available if your action extends ActionSupport. And you have to force name evaluation in the name tag.

这篇关于如何访问 Struts 标签中的迭代器变量?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆