【问题标题】:Clarification in Struts 2Struts 2 中的说明
【发布时间】:2012-08-31 05:30:45
【问题描述】:

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

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

【问题讨论】:

  • 更改状态是提交按钮吗?
  • 是的,它是一个提交按钮。编辑了我的问题。

标签: java javascript struts2 struts


【解决方案1】:

您可以利用 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 可以是什么,您可以根据自己的选择在实际操作中使用它 了解详情

【讨论】:

  • 这不是一个真正的提交按钮。这是一个 html 链接,在时钟上,我通过 javascript 提交。所以我认为我们不能使用这个东西。我们有类似的吗?
  • 如果它是一个链接,我相信你可以将该 id 添加到链接中以将其作为查询字符串发送
  • 是的,好的。但是在返回同一个网页时,我如何找出正确的状态框并填充它?
  • 在这种情况下你的问题不是很重要,你可以在你的动作类中设置任何标志
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

    <s:hidden />
    

    带有行的ID。 这样你就总能知道点击的是哪个提交。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-24
      • 2017-02-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多