Strutsの中でAction Form種類のいくつかの方法
2090 ワード
Strutsの中のAction Form類には、あまり使われていませんが、たまに役に立ちます.その機能は何をするかを知る必要があります.私たちだけがです.
まず第一に理解したいのは、reset()方法であり、この方法はソースコードで定義された実装は以下の通りである.
上記のコードから分かるように、reset()の方法はクラスの中で一つの空白の実現を定義しただけです.この方法はどんな用途がありますか?もし私たちがクラスローディングの前に他のことをしなければならないならば、私たちはアクション・フォームの中でリセットできます.
私たちが知るべき第二の方法はvalidateであり、この方法はソースコードで定義されている.
ソースからは、オブジェクトを返す必要がありますvalidate()方法がわかります.実は、validate()の役割は名前と同じです.システム開発を行う時、必要な検証をします.しかし、通常の状況では、JavaScriptは便利で、迅速で、効率的にこれらの問題を解決することができます.しかし、システムの安全性が非常に高いなら、JavaScriptで検証するだけでなく、アクション・フォームで検証する必要があります.
私たちはAction Formで検証する時、struts-config.xmlで任意の設定をしていないなら、validateの属性はデフォルトでtrueに設定されます.この属性をfalseに設定すると、Action Formで検証しても、システムは検証しません.
第三の方法はatribute()です.もしstruts-config.xmlにatribute属性を設定したら、JSPでEL表現を使うなら、Action Formのname名ではなく、atributeという属性を使う必要があります.
まず第一に理解したいのは、reset()方法であり、この方法はソースコードで定義された実装は以下の通りである.
public void reset(ActionMapping mapping, HttpServletRequest request) {
; // Default implementation does nothing
}
上記のコードから分かるように、reset()の方法はクラスの中で一つの空白の実現を定義しただけです.この方法はどんな用途がありますか?もし私たちがクラスローディングの前に他のことをしなければならないならば、私たちはアクション・フォームの中でリセットできます.
私たちが知るべき第二の方法はvalidateであり、この方法はソースコードで定義されている.
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
return (null);
}
ソースからは、オブジェクトを返す必要がありますvalidate()方法がわかります.実は、validate()の役割は名前と同じです.システム開発を行う時、必要な検証をします.しかし、通常の状況では、JavaScriptは便利で、迅速で、効率的にこれらの問題を解決することができます.しかし、システムの安全性が非常に高いなら、JavaScriptで検証するだけでなく、アクション・フォームで検証する必要があります.
私たちはAction Formで検証する時、struts-config.xmlで任意の設定をしていないなら、validateの属性はデフォルトでtrueに設定されます.この属性をfalseに設定すると、Action Formで検証しても、システムは検証しません.
<struts-config>
<form-beans>
<form-bean name="ActionForm" type="com.cx.struts.CalcAction"></form-bean>
</form-beans>
<action-mappings>
<action path="/calc"
type="com.cx.struts.CalcAction"
name="ActionForm"
scope="request"
validate="true"
>
<forward name="success" path="/success.jsp"></forward>
<forward name="error" path="/error.jsp"></forward>
</action>
</action-mappings>
</struts-config>
第三の方法はatribute()です.もしstruts-config.xmlにatribute属性を設定したら、JSPでEL表現を使うなら、Action Formのname名ではなく、atributeという属性を使う必要があります.