1

私はStruts2一定期間使用しましたが、それでもStruts2検証と非常に混乱しています。

xml-validationまたはメソッドaddFieldError()を使用して検証しましたが、最初にフォームページ、struts-tagsを含むページ、およびを入力するときに<s:form>、href-linkでこのページに移動することはできません。移動する必要があります。別のアクションを通じて、struts-tagsが付いたページjspはアクションからのものでなければならないことを読みました。

そして、私は通常、この入力ページにリダイレクトするためだけにアクションを作成します。execute()メソッドでは「成功」だけで、このアクションの役割は合法的に入力ページに移動することです。入力フォームの入力ページを処理するアクションでは、「 「入力」の結果は、この入力ページのままです。

だから、私はこれをするのに不快感を覚えます、私はいつも、GoToSiteAction初めて入力ページに行くだけです。

だから、私は本当にあなたの助けが必要です!!。

4

2 に答える 2

1

with inputフィールドを使用して、アクションを作成し、javaファイル名と同じ名前の検証xmlファイルを作成します。例:AddInput.java xmlファイル:AddInput-validation.xmlは、同じパッケージに入れます。

フォームに必要なすべての検証を次のようにxmlファイルに書き込みます。

<field name="U_Id"> 
    <field-validator type="requiredstring" short-circuit="true">
     <message>Affiliate Id cannot be empty</message> 
    </field-validator>
</field>
<field name="Password">
    <field-validator type="requiredstring" short-circuit="true">
     <message>Password cannot be empty</message> 
    </field-validator>
    <field-validator type="stringlength">  
<param name="minLength">5</param>  
<param name="maxLength">30</param>  
<message>Password cannot be less than 5 or more than 30</message>  
</field-validator>
</field>

アクションをヒットすると、最初に検証xmlがヒットし、検証をチェックしてから、アクションクラスの部分を処理します。

于 2015-08-06T11:07:24.940 に答える
0

struts2-conventionsプラグインを完全に使用していない、または使用していない。http://struts.apache.org/2.1.6/docs/convention-plugin.htmlこのページで「アクションの例と結果からテンプレートへのマッピング」という文字列を検索し、次の表を検討してください。

将来的には、struts2-conventions-plugin jarをプロジェクトに追加した後、将来のすべてのフォームの最後に接尾辞「-input」を追加します。

新しい従業員を追加するためのフォームを作成したとします。

/WEB-INF/content/add-employee-input.jsp

struts2フォームタグは、おそらく次のような名前のJavaクラスで「add-employee」と呼ばれるアクションを参照します。add com.mypackages.struts2.AddEmployee-employeeアクションの検証が失敗すると、「input」が返され、「add-employee-input」フォームが再び返されます。レンダリングされます。ただし、「add-employee-input」アクションを作成する必要はありません。conventionsプラグインがこれを自動的に実行します。そのため、必要に応じてフォームを参照して直接入力でき、非常に便利です。

試してみると、私が何を意味するのかがわかります。

于 2012-04-22T06:21:43.320 に答える