3.3 springmvc-異常システム基本使用
ここ数日、いくつかの基本的な添削機能を完成していますが、正直に言うと、これはstruts 2よりずっと煩わしいですね.struts 2にはvalidate機能があり、契約モードを使用して、validateXXX(ここでXXXは方法名)で、XXXを実行する前に実行します.これはpre-checkに等しく、いくつかのパラメータの初期化能力を果たすことができます.
残念ながらspringmvcには@initbinderが1つしかありません.彼はグローバル関数のようにWebDataBinderにバインドされています.しかし、initbinderの関数をトリガーするには、私のrequestMappingメソッドパラメータにentityタイプを追加する必要があります.
そういえば、このspringmvcは基本的に異常を2つに分けることができます.
のクラスは、try catchブロックでユーザ自身が定義 である.
はい、このようなspringはその時に良い解決方法を提供しました.それは
@ExceptionHandlerこれはいいですね.具体的なspringが持っているpdfには説明がありますが、残念ながら、彼は支持できません.
@ExceptionHandler({xxx.class,xxx.class})クラスはspringに内蔵された です.
例えば@PathVariable Long idを使用する場合、idがlongに変換できない場合はtypemisというspring内蔵exceptionが投げ出されます.これは本当に早くてあなたのcontrollerに入っていないときに発生しました.このとき、彼はxxx-servletを呼び出しました.xmlファイルで定義されたexception handlerで処理します.
ここの
ExceptionMappingsは、異なるexceptionに対応して処理することができます.でも具体的なコードはまだよく見ていないので、springが持っているのも詳しく書いていないようです.
自分で研究するしかない.ほほほ
残念ながらspringmvcには@initbinderが1つしかありません.彼はグローバル関数のようにWebDataBinderにバインドされています.しかし、initbinderの関数をトリガーするには、私のrequestMappingメソッドパラメータにentityタイプを追加する必要があります.
そういえば、このspringmvcは基本的に異常を2つに分けることができます.
はい、このようなspringはその時に良い解決方法を提供しました.それは
/**
* id
* @param bindingResult
* @param defaultPage
* @return
*/
@ExceptionHandler(ObjectNotFoundException.class)
public ModelAndView handleNotFoundEx(BindingResult bindingResult, String defaultPage) {
if(bindingResult == null) return handleErrors(defaultPage);
return handleErrors(bindingResult, defaultPage);
}
@ExceptionHandlerこれはいいですね.具体的なspringが持っているpdfには説明がありますが、残念ながら、彼は支持できません.
@ExceptionHandler({xxx.class,xxx.class})
例えば@PathVariable Long idを使用する場合、idがlongに変換できない場合はtypemisというspring内蔵exceptionが投げ出されます.これは本当に早くてあなたのcontrollerに入っていないときに発生しました.このとき、彼はxxx-servletを呼び出しました.xmlファイルで定義されたexception handlerで処理します.
<!-- Mapping exception to the handler view -->
<bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<!-- to /commons/error.jsp -->
<property name="defaultErrorView" value="/commons/error"/>
<property name="exceptionMappings">
<props>
</props>
</property>
</bean>
ここの
ExceptionMappingsは、異なるexceptionに対応して処理することができます.でも具体的なコードはまだよく見ていないので、springが持っているのも詳しく書いていないようです.
自分で研究するしかない.ほほほ