我有一个JSP,它在resultsList
下面标记了某些操作中的数据并转发到了jsp下面,我希望根据复选框选择将数据恢复到另一个操作中。请帮忙,可以使用Struts1,但是从开始使用Struts2开始就不想回到Struts1。
<display:table class="displaytag" id="row" style="font-size:1.4em;" name="resultsList" requestURI="/SomePath.action">
<display:column property="businessType" title="Business Type"></display:column>
<display:column property="structure" title="Structure"></display:column>
<display:column property="tradeSubType" title="Trade Sub Type"></display:column>
<display:column property="businessGroup" title="Business Group"></display:column>
<display:column title="Select To Copy" align="center">
<s:checkbox name="selectToCopy" fieldValue="false" value="false" label="Check Me To Download"></s:checkbox>
</display:column>
</display:table>
数据将在一个操作中获取并转发到jsp,其中jsp包含上面的显示标记,现在我需要提交表单,操作应该接收检查的信息以进一步处理。这里的任何帮助都非常感谢,我可以毫无疑问地使用Struts1来做,但是想继续使用Struts2。
答案 0 :(得分:0)
我猜你的动作类会从这种类型中发送一些域对象:
"SnapshotId","StartTime","VolumeId","VolumeSize","Description","device","Name","Customer","Environment","Branding","instance_id","AnotherKey"
"snap-fff","2014-04-01T06:00:13.000Z","vol-fff",50,"desc1","/dev/sdf","a name","Internal","Demo","Brand 1","i-fff",""
"snap-ccc","2014-07-01T05:59:14.000Z","vol-ccc",8,"B Desc","/dev/sda1","External","Production","i-ccc","B Brand","B Name","AnotherValue"
在访问displaytag jsp页面之前调用的action类有一个表单类型为public class MyData {
private Integer id;
private String businessType;
//other params
//getter/setters
}
的对象列表:
MyData
JSP应包含表单和提交按钮。此外,您必须将要发送回的每个数据定义为该表单中的字段。如果不允许用户更改它们,请使用隐藏字段。 public class MyDisplayTagAction extends ActionSupport {
private List<MyData> myDataList;
//other params
//getter/setter
public String execute() {
myDataList = getMyDataListFromSomewhere();
return SUCCESS;
}
}
访问打印到该值的id。 #attr.row.id
来自ognl,可以访问从displaytag定义的变量#attr
。 (有关详细信息:Struts OGNL)
row
post action类(接受表单请求的那个)应该包含一个列表,该列表在<s:form action="myStrutsPostAction" method="post">
<display:table name="myDataList" uid="row">
<display:column>
<s:checkbox name="resultsList[%{#attr.row_rowNum - 1}].selectToCopy" id="check%{#attr.row_rowNum - 1}" value="%{#attr.row.selectToCopy}"/>
</display:column>
<display:column>
<input type="hidden" name="resultsList[<s:property value='%{#attr.row_rowNum - 1}'/>]" value="<s:property value='%{#attr.row.businessType}' />"/>
<s:property value="%{#attr.row.businessType}"/>
</display:column
</display:table>
<s:submit>
</s:form>
中定义,struts将只将数据设置到此列表中。
<s:form>