【发布时间】:2009-05-06 08:08:15
【问题描述】:
我正在使用 struts2。
我的action-validation.xml 中有两个字段。我想如果验证在第一个字段失败,它将转到某个 jsp 页面(比如a.jsp),如果在第二个字段验证失败,那么它将转到另一个 jsp(比如b.jsp)。
因为它总是在验证失败时返回“输入”,所以目前我只能针对它定位一个 jsp 页面。
【问题讨论】:
标签: validation struts2
我正在使用 struts2。
我的action-validation.xml 中有两个字段。我想如果验证在第一个字段失败,它将转到某个 jsp 页面(比如a.jsp),如果在第二个字段验证失败,那么它将转到另一个 jsp(比如b.jsp)。
因为它总是在验证失败时返回“输入”,所以目前我只能针对它定位一个 jsp 页面。
【问题讨论】:
标签: validation struts2
void 返回类型不能返回任何东西
您是否设计了一个变通方案?
【讨论】:
Rich's solution如果在提交时调用的动作中应用逻辑是非常实用的......
public String actionBeingCalledOnSubmit() {
if(!isFieldAValid()) {
return "DISPLAY_A";
}
if(!isFieldBValid()){
return "DISPLAY_B";
}
}
【讨论】:
您需要在您的操作中创建自定义验证方法,返回自定义结果:
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>
【讨论】: