私はstruts2で働いています。
に2つのフィールドがありますaction-validation.xml
。最初のフィールドで検証getが失敗した場合は、あるjspページ(たとえばa.jsp
)に移動し、2番目のフィールドで検証getが失敗した場合は、別のjsp(say b.jsp
)に移動します。
検証が失敗すると常に「入力」が返されるため、現在、これに対して1つのjspページのみをターゲットにできます。
私はstruts2で働いています。
に2つのフィールドがありますaction-validation.xml
。最初のフィールドで検証getが失敗した場合は、あるjspページ(たとえばa.jsp
)に移動し、2番目のフィールドで検証getが失敗した場合は、別のjsp(say b.jsp
)に移動します。
検証が失敗すると常に「入力」が返されるため、現在、これに対して1つのjspページのみをターゲットにできます。
void 戻り型は何も返すことができません
回避策を設計しましたか?
送信時に呼び出されるアクションにロジックが適用される場合、リッチのソリューションは非常に実用的です...
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>