在Struts2中为不同的操作方法更改Form的操作属性

我在JSP页面名称add.jsp创建了一个from来保存这样的数据

            

显示此视图的操作方法如下

 public String addDomainPage() { return ActionSupport.SUCCESS; } 

我创建了另一个列出所有域的页面,并提供了编辑链接来编辑任何域。 使用时单击编辑URL,将调用此操作

 public String loadDomain() { HttpServletRequest request = ServletActionContext.getRequest(); String url = request.getParameter("durl"); IDPBroker broker = new IDPBroker(); idp = broker.getDomainByURL(url); return ActionSupport.SUCCESS; } 

成功完成操作后,我将显示add.jsp页面。 Struts填充JSP页面中的数据。

现在,问题是我想要更改form标签action属性的值。 我还想将value of submit buttonvalue of submit button更改为“编辑”。 我计划在Action类中创建一些私有attribute(action,Label) ,当调用addDomainPage动作时,我将根据添加页面更改这些属性的值。 与loadDomain操作类似。 现在我不知道如何做到这一点意味着如何在视图中使用这些私有属性。 告诉我,我做得正确,下一步做什么?

可以使用相同的动作类来映射提交按钮上的不同方法。 喜欢

   

表单动作属性应该映射到动作类的execute方法,如果你使用这样的提交按钮,它将永远不会调用。 默认启用的DMI允许调用指定的方法。

如果要动态更改Struts标记中的属性,可以在JSP中使用OGNL表达式而不是硬编码值。 为此,您应该在执行结果之前定义动态值的操作中定义属性。 例如

 public String getAction(){ return "AddDomain"; }