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