SpingMVC类型转换
生活随笔
收集整理的這篇文章主要介紹了
SpingMVC类型转换
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
框架內部做了類型轉換工作,將String轉換成Int,但是默認類型轉換器并不是可以將用戶提交的String轉換為用戶需要的類型,此時就需要自定義類型轉換器了
下邊我自定義一個日期類型的轉換器? 才認識能否將前臺輸入的string在后臺轉換成date類型? 并且輸出到控制臺
定義一個控制器類? 參數和前臺jsp頁面上的參數進行自動裝配
@Controller public class FirstController @RequestMapping("/first")public String doFirst(String username, int age, Date birthday){System.out.println(username);System.out.println(age);System.out.println(birthday);return "suecssful";} }定義一個轉換器
//Converter是一個泛型接口 s帶原始類型 t代表目標類型 所以這里是String和datepublic class TypeDate implements Converter<String,Date> {public Date convert(String str) {SimpleDateFormat sdf = getDate(str);try {return sdf.parse(str);} catch (ParseException e) {e.printStackTrace();}return null;}public SimpleDateFormat getDate(String str) {
SimpleDateFormat sdf=null;
//通過正則去和前臺輸入的格式進行匹配 只要符合正則表達式的規則 就可以轉換if(Pattern.matches("^\\d{4}-\\d{2}-\\d{2}$",str)){sdf=new SimpleDateFormat("yyyy-MM-dd");}if(Pattern.matches("^\\d{4}/\\d{2}/\\d{2}$",str)){sdf=new SimpleDateFormat("yyyy/MM/dd");}if(Pattern.matches("^\\d{4}\\d{2}\\d{2}$",str)){sdf=new SimpleDateFormat("yyyyMMdd");}return sdf;} }
xml配置文件的書寫
<context:component-scan base-package="day13"></context:component-scan><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/"></property><property name="suffix" value=".jsp"></property></bean><!--定義一個轉換器--><bean id="myDateType" class="day13.TypeDate"></bean><!--注冊一個轉換器服務--><bean id="conversionService2" class="org.springframework.context.support.ConversionServiceFactoryBean"><property name="converters" ref="myDateType"></property></bean><!--注解驅動管理一個轉換服務--><mvc:annotation-driven conversion-service="conversionService2"></mvc:annotation-driven>前臺頁面的定置:
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %> <html> <head><title>Title</title> </head> <body> <form action="/first" method="post">姓名:<input name="username" value="${username}"><br>年齡:<input name="age"><br>出生日期:<input name="birthday"><br><input type="submit" value="提交"> </form> </body> </html>配置完成!? 控制臺打印date類型的日期?
?
轉載于:https://www.cnblogs.com/1234AAA/p/8681145.html
總結
以上是生活随笔為你收集整理的SpingMVC类型转换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c++试题2
- 下一篇: win10 1709电脑无法显示局域网共