我有一个使用
<s:iterator>
标签显示的表格。表值包含在 ArrayList
中。列表的每一行都有一个 edit
按钮。当用户单击 edit
按钮时,该行的内容应发送到操作和相应的结果页面。我不允许使用复选框和单选按钮。
是否有一些
param
标签可以用来将该行设置为参数,并将其返回到结果页面中。或者有没有办法在会话中设置该行并从会话中取回它?我如何在 Struts 2 中实现这一目标?
您不应该将整行设置为参数,您只需设置该行的参数
id
即可。当您需要保存该记录时,您可以再次检索该记录。要设置参数,您可以使用这样的链接
<s:a action="edit" value="Edit"><s:param name="id" value="%{#row[ID]}"/></s:a>
使用以下代码,您可以将每行的值设置到bean中,例如,当您单击删除链接时,我们可以使用
<s:bean/>
实例化bean类的对象,并且<s:param/>
可用于将值设置到bean中
<s:iterator value="contactList" var="contactBean">
<s:url id="deleteUrl" action="deleteLink">
<s:bean name="net.viralpatel.contact.model.Contact"></s:bean>
<s:param name="id" value="#contactBean.id"></s:param>
<s:param name="firstName" value="#contactBean.firstName"></s:param>
</s:url>
<s:a href="%{deleteUrl}">
Delete
</s:a>
</s:iterator>
您可以使用锚标记在这行尝试一些东西
<s:iterator value="list">
<s:url action="companyedit" var="listUrl" >
<s:param name="id"><s:property value="id" /></s:param>
<s:param name="operation">Edit</s:param>
</s:url>
<s:a href="%{listUrl}"><s:property value="companyName"/></s:a>
<s:property value="companyType" />
.
.
.
</s:iterator>
希望这有帮助