Struts 2显示标签

时间:2016-06-01 12:48:07

标签: struts2 displaytag

我有一个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。

1 个答案:

答案 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>