如何在不使用复选框或单选按钮的情况下将表中选定的数据发送到 Struts2 中的操作?

问题描述 投票:0回答:3

我有一个使用

<s:iterator>
标签显示的表格。表值包含在
ArrayList
中。我在列表的每一行上都有一个编辑按钮。当用户单击编辑按钮时,该行的内容应发送到操作和相应的结果页面。我不允许使用复选框和单选按钮。

是否有一些

param
标记我可以使用将该行设置为参数并将其返回到结果页面中。或者有没有办法在会话中设置该行并从会话中获取它?我如何在 Struts2 中实现这一目标?

java javascript jsp struts2
3个回答
2
投票

您不应该将整行设置为参数,您只需设置该行的参数

id
即可。当您需要保存该记录时,您可以再次检索该记录。要设置参数,您可以使用这样的链接

<s:a action="edit" value="Edit"><s:param name="id" value="%{#row[ID]}"/></s:a>   

1
投票

使用以下代码,您可以将每行的值设置为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>

0
投票

您可以使用锚标记在这行尝试一些东西

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

希望这有帮助

© www.soinside.com 2019 - 2024. All rights reserved.