Java Struts 2中的澄清

Java Struts 2中的澄清,java,javascript,struts2,struts,Java,Javascript,Struts2,Struts,有一个页面,其中有多行,每行末尾都有一个“更改状态”按钮[一个“提交”按钮]。目前有十多种状态。当我单击“更改状态”按钮时,控件进入action类,页面将重新加载更改的状态 我有与每行关联的id。当页面重新加载时,如何识别我在哪一行单击了“更改状态”按钮?我应该通过java脚本将id传递给action类吗?有比这更简单的方法吗?您可以添加id作为表单的一部分,这样您在提交时将收到id作为参数。不需要javascript 您可以利用Struts2的多个提交按钮功能。您可以根据自己的ID设置提交按钮

有一个页面,其中有多行,每行末尾都有一个“更改状态”按钮[一个“提交”按钮]。目前有十多种状态。当我单击“更改状态”按钮时,控件进入action类,页面将重新加载更改的状态


我有与每行关联的id。当页面重新加载时,如何识别我在哪一行单击了“更改状态”按钮?我应该通过java脚本将id传递给action类吗?有比这更简单的方法吗?

您可以添加id作为表单的一部分,这样您在提交时将收到id作为参数。不需要javascript

您可以利用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();
   }
}

类MyAction扩展了ActionSupport{
私有字符串按钮名;
公共无效setButtonName(字符串buttonName){
this.buttonName=buttonName;
}
公共字符串execute(){
如果(“提交”。等于(按钮名称)){
doSubmit();
返回“submitResult”;
}
如果(“清除”。等于(按钮名称)){
doClear();
返回“clearResult”;
}
返回super.execute();
}
}
简而言之,值可以是uniqque id,您可以根据自己的选择在操作中使用它 详情


您可以为每行制作不同的表单。 每种形式都可以有一个

<s:hidden />

使用行的id。
通过这种方式,您总是可以知道单击了哪个提交按钮。

更改状态是一个提交按钮吗?是的,它是一个提交按钮。编辑了我的问题。它实际上不是一个提交按钮。这是一个html链接,我通过javascript提交。所以我认为我们不能用这个东西。我们有什么类似的吗?如果它是一个链接,我相信你可以将该id添加到链接中,以查询的形式发送它。但是当返回到同一个网页时,我如何找出合适的状态框并填充它呢?在这种情况下,您的问题不是很lrea,您可以在您的操作类中设置任何标志