【问题标题】:action-validation.xml in struts2 (open different pages when validation fails at different fields in validation.xml)struts2 中的 action-validation.xml(validation.xml 中不同字段的验证失败时打开不同的页面)
【发布时间】:2009-05-06 08:08:15
【问题描述】:

我正在使用 struts2。

我的action-validation.xml 中有两个字段。我想如果验证在第一个字段失败,它将转到某个 jsp 页面(比如a.jsp),如果在第二个字段验证失败,那么它将转到另一个 jsp(比如b.jsp)。

因为它总是在验证失败时返回“输入”,所以目前我只能针对它定位一个 jsp 页面。

【问题讨论】:

    标签: validation struts2


    【解决方案1】:

    void 返回类型不能返回任何东西

    您是否设计了一个变通方案?

    【讨论】:

      【解决方案2】:

      Rich's solution如果在提交时调用的动作中应用逻辑是非常实用的......

      public String actionBeingCalledOnSubmit() {
        if(!isFieldAValid()) {
          return "DISPLAY_A";
        }
      
        if(!isFieldBValid()){
          return "DISPLAY_B";
        }
      }
      

      【讨论】:

        【解决方案3】:

        您需要在您的操作中创建自定义验证方法,返回自定义结果:

        public void validate() {
          if(!isFieldAValid()) {
            return "DISPLAY_A";
          }
        
          if(!isFieldBValid()){
            return "DISPLAY_B";
          }
        }
        

        然后你需要在你的 struts.xml 中添加自定义结果:

        <result name="DISPLAY_A">/a.jsp</result>
        <result name="DISPLAY_B">/b.jsp</result>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-10-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多