struts2中的action-validation.xml(当validation.xml中不同字段的验证失败时,打开不同的页面)

struts2中的action-validation.xml(当validation.xml中不同字段的验证失败时,打开不同的页面),validation,struts2,Validation,Struts2,我在struts2工作 我的action validation.xml中有两个字段。我想,如果验证在第一个字段失败,它将转到某个jsp页面(比如a.jsp),如果验证在第二个字段失败,它将转到另一个jsp(比如b.jsp) 当验证失败时,它总是返回“input”,因此当前我只能针对它针对一个jsp页面。您需要在操作中创建自定义验证方法,返回自定义结果: public void validate() { if(!isFieldAValid()) { return "DISPLAY_A"

我在struts2工作

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


当验证失败时,它总是返回“input”,因此当前我只能针对它针对一个jsp页面。

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

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>
/a.jsp
/b、 jsp
如果在提交时调用的操作中应用了逻辑,那么这是非常可行的

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

  if(!isFieldBValid()){
    return "DISPLAY_B";
  }
}

无效返回类型不能返回任何内容

你设计了一个工作环境吗