嗨,让我告诉你我搜索了很多,但我找不到我想要的东西
这是方案
我的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;
}
答案 0 :(得分:1)
改变这个:
<s:textfield theme="simple" name="valOfSim" />
到此:
<s:textfield theme="simple" name="obj[%{#status.index}].observation" value="" />
这将
observation
元素的obj
字段; 这样,如果你的Action对你的obj元素有一个setter
(而不仅仅是一个getter),
当您提交包含迭代元素的表单时,您将检索用户在observation
中插入的所有ArrayList<Obj>
值...