SpringMVC學習(四)
阿新 • • 發佈:2018-12-13
攔截器及資料型別轉換
攔截器:
1.實現HandlerInterceptor介面
public class myinterceptor1 implements HandlerInterceptor { @Override public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3) throws Exception { // 執行Handler完成之後執行 System.out.println("執行Handler完成之後執行"); } @Override public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3) throws Exception { // 處理器執行之後,返回ModelAndView之前執行 System.out.println("處理器執行之後,返回ModelAndView之前執行"); } @Override public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2) throws Exception { // 處理器執行之前 System.out.println("這是在處理器執行之前"); return true; } }
2.springmvc.xml配置
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/><!--攔截所有url訪問 -->
<bean class="com.test.interceptor.myinterceptor1"></bean>
</mvc:interceptor>
</mvc:interceptors>
這樣配置就可以了
3:資料型別轉換
springmvc無法自行轉換date,Integer,double等資料型別,需要我麼自行去定義。
需要運用@InitBinder註釋
@InitBinder
public void initBinder(ServletRequestDataBinder binder){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
binder.registerCustomEditor(Date.class, new CustomDateEditor(sdf,
true));
}