嗨,让我告诉你,我搜索了很多,但找不到我想要的东西
这是场景
我的jsp中有一个表正在通过迭代器加载,即ArrayList<Report>
报告具有参数、观察、设计三个属性
在 JSP 中,我将通过迭代器显示第一列和第三列的值
<s:iterator value="ReportList" status="status" var="obj">
<tr>
<td><s:property value="%{#obj.parameter}" /></td>
<td><s:textfield theme="simple" name="valOfSim" /></td>
<td><s:property value="%{#obj.designed}" /></td>
</tr>
</s:iterator>
Parameter observation designed X 10 y 11 Z 12
现在我必须捕获已输入的第二个值,请帮忙!
编辑:我的代码
让我解释一下将调用第一个预加载方法,并且将通过 ArrayList<Obj>
预填充值然后用户将输入观察值,然后通过此捕获该值
<td><s:textfield theme="simple" name="obj[%{#status.index}].observation" /></td>
之后,将出现一个提交按钮,单击该操作类的提交方法将被调用
打印用户输入的值(这里得到NULL)
import mypro.web.utility.SpringServiceLocator;
public class myAction extends ActionSupport implements
ModelDriven,SessionAware,ServletRequestAware,Preparable {
private Map<String, Object> session;
private Model model = new Model();
public void prepare()
{
Obj obj = new Obj();
Obj obj2 = new Obj();
Obj obj3 = new Obj();
obj.setDesigned("10");
obj.setParameter("X");
model.getReportList().add(obj1);
obj.setDesigned("11");
obj.setParameter("y");
model.getReportList().add(obj2);
obj.setDesigned("12");
obj.setParameter("Z");
model.getReportList().add(obj3);
}
public String preload()
{
return "success";
}
public String submit()
{
System.out.println("------------------------------------------------------
&&&&&&&&&:"+model.getReportList().size());
for(Obj obj : model.getReportList)
{
System.out.println("the value is to be checked"+obj.getObservation());//value which will be entered by user
System.out.println("the value is to be checked"+obj.getRefcode()); //value which was added in the prepare method
}
return "success";
}
public Object getModel() {
return model;
}
最佳答案
更改此:
<s:textfield theme="simple" name="valOfSim" />
对此:
<s:textfield theme="simple" name="obj[%{#status.index}].observation" value="" />
这将
- 将您的文本字段绑定(bind)到
observation
obj
的领域元素; - 保留行号;
- 将显示值设置为空(不知道为什么,但如果这是你想要的......)
这样,如果您的操作有 setter
对于你的 obj 元素(而不仅仅是 getter),
当您提交包含迭代元素的表单时,您将检索所有 observation
用户在 ArrayList<Obj>
中插入的值...
关于java - struts2 迭代器捕获特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13515824/