有一个页面,其中有多行,每行末尾有一个“更改状态”按钮[一个“提交”按钮]。目前有十多个身份。当我单击“更改状态”按钮时,控件将转到操作类,页面将以更改后的状态重新加载。
我的ID与每行相关联。当页面重新加载时,如何识别我在哪一行点击了“更改状态”按钮?我应该通过java脚本将id传递给动作类吗?有比这更简单的方法吗?
答案 0 :(得分:2)
好吧,你可以利用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,您可以根据自己的选择使用它 详情
答案 1 :(得分:0)
您可以将ID添加为表单的一部分,这样您在提交时就会收到id作为参数。不需要javascript。
答案 2 :(得分:0)
您可以为每一行执行不同的表单。 每个表格都可以有一个
<s:hidden />
带有行的id。 通过这种方式,您始终可以知道点击提交的内容。