代码之家  ›  专栏  ›  技术社区  ›  Pierre Henry

Struts2:可以使用动态方法调用并为不同的方法指定不同的验证规则吗?

  •  0
  • Pierre Henry  · 技术社区  · 16 年前

        <action name="MyAction!*" class="my.Action" method="{1}">
            <result name="step1">step1.jsp</result>
            <result name="step2">step2.jsp</result>         
            <result name="error">error.jsp</result>
        </action>
    

    然后,my.Action类有各种方法,可以通过在URL中指定名称来调用这些方法,例如:

    http://localhost:8080/MyApp/MyAction!method1.action

    firstName lastName 在一种方法(例如注册的第一步)中是强制性的,而在其他方法中不是强制性的。

    如果我做一个通用的验证文件 MyAction-validation.xml MyAction-method1-validation.xml

    有解决办法吗?

    2 回复  |  直到 16 年前
        1
  •  0
  •   Steven Benitez    15 年前

    如果要使用编程方法进行验证,可以这样做。这通常是通过 validate() validate 用于特定操作的方法,例如 validateStep1 , validateStep2 等等。这些将只验证 step1 step2 方法。我不确定是否有一个选项可以为不同的方法使用不同的XML文件。

    <action name="MyAction" class="my.Action">
        <result name="step1">step1.jsp</result>
        <result name="step2">step2.jsp</result>         
        <result name="error">error.jsp</result>
    </action>
    
        2
  •  0
  •   Pierre Henry    13 年前

    Struts 2的JIRA中有一个开放的bug:

    https://issues.apache.org/jira/browse/WW-1967

    它从2007年6月开始营业,所以我怀疑它是否能修好。