有一个页面,其中有多行,每行末尾都有一个“更改状态”按钮[一个“提交”按钮]。目前有十多种状态。当我单击“更改状态”按钮时,控件进入操作类,页面重新加载更改状态。
我有 id 与每一行相关联。当页面重新加载时,如何确定我在哪一行单击了“更改状态”按钮?我应该通过 java-script 将 id 传递给动作类吗?还有比这更简单的方法吗?
有一个页面,其中有多行,每行末尾都有一个“更改状态”按钮[一个“提交”按钮]。目前有十多种状态。当我单击“更改状态”按钮时,控件进入操作类,页面重新加载更改状态。
我有 id 与每一行相关联。当页面重新加载时,如何确定我在哪一行单击了“更改状态”按钮?我应该通过 java-script 将 id 传递给动作类吗?还有比这更简单的方法吗?
好吧,您可以利用 Struts2 多提交按钮功能。就像您可以根据您的 ID 设置提交按钮值并在您的操作中收集它以您的方式使用它一样
<button type="submit" value="Submit" name="buttonName">
<button type="submit" value="Clear" name="buttonName">
class MyAction extends ActionSupport {
private String buttonName;
public void setButtonName(String buttonName) {
this.buttonName = buttonName;
}
public String execute() {
if ("Submit".equals(buttonName)) {
doSubmit();
return "submitResult";
}
if ("Clear".equals(buttonName)) {
doClear();
return "clearResult";
}
return super.execute();
}
}
所以简而言之,uniqque id 可以是什么,您可以根据自己的选择在操作中使用它以获取详细信息
您可以将 id 添加为表单的一部分,这样您在提交时将收到 id 作为参数。不需要javascript。
您可以为每一行制作不同的表格。每个表格都可以有一个
<s:hidden />
与行的 id。通过这种方式,您始终知道单击的是哪个提交。