2012-08-31 32 views
0

在每行末尾有一个页面,其中有多个行,并且具有“更改状态”按钮[a'提交'按钮]。目前有超过十种身份。当我点击“更改状态”按钮时,控件进入操作类,并且页面以更改后的状态重新加载。Struts 2中的说明

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

+0

是变更状态是否提交按钮? –

+0

是的,它是一个提交按钮。编辑我的问题。 – user2434

回答

2

那么你可以利用Struts2的多的提交按钮functionality.Like您可以根据您的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,您可以使用它在行动按您选择 的细节

+0

这不是一个真正的提交按钮。这是一个html链接,其中,我通过JavaScript提交。所以我不认为我们可以使用这个东西。我们有类似的东西吗? – user2434

+0

如果它的链接比我相信你可以添加该ID到链接发送它作为查询字符串 –

+0

是的好吧。但是在返回到同一个网页时,我如何找出正确的状态框并填充它? – user2434

0

您可以将该ID添加到您的表单中,这样您在提交时就会收到该ID作为参数。无需JavaScript。

0

您可以为每一行执行不同的表单。 每个表格可以有一个

<s:hidden /> 

与行的id。 通过这种方式,您总是可以知道点击提交的内容。