- package org.springframework.samples.mvc.convert;
- import java.util.Collection;
- import java.util.Date;
- import org.springframework.format.annotation.DateTimeFormat;
- import org.springframework.format.annotation.DateTimeFormat.ISO;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.PathVariable;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestParam;
- import org.springframework.web.bind.annotation.ResponseBody;
- @Controller
- @RequestMapping("/convert")
- public class ConvertController {
- // http://127.0.0.1:8010/convert/primitive?value=3
- @RequestMapping("primitive")
- public @ResponseBody String primitive(@RequestParam Integer value) {
- return "Converted primitive " + value;
- }
- // http://127.0.0.1:8010/convert/date/2010-07-04
- // requires Joda-Time on the classpath
- @RequestMapping("date/{value}")
- public @ResponseBody String date(@PathVariable @DateTimeFormat(iso=ISO.DATE) Date value) {
- return "Converted date " + value;
- }
- // http://127.0.0.1:8010/convert/collection?values=1&values=2&values=3&values=4&values=5
- // http://127.0.0.1:8010/convert/collection?values=1,2,3,4,5
- @RequestMapping("collection")
- public @ResponseBody String collection(@RequestParam Collection<Integer> values) {
- return "Converted collection " + values;
- }
- // http://127.0.0.1:8010/convert/formattedCollection?values=2010-07-04,2011-07-04
- @RequestMapping("formattedCollection")
- public @ResponseBody String formattedCollection(@RequestParam @DateTimeFormat(iso=ISO.DATE) Collection<Date> values) {
- return "Converted formatted collection " + values;
- }
- // http://127.0.0.1:8010/convert/bean?nested.foo=bar&nested.list[0].foo=baz&nested.map[key].list[0].foo=bip
- @RequestMapping("bean")
- public @ResponseBody String bean(JavaBean bean) {
- return "Converted " + bean;
- }
- //http://127.0.0.1:8010/convert/value?value=123456789
- @RequestMapping("value")
- public @ResponseBody String valueObject(@RequestParam SocialSecurityNumber value) {
- return "Converted value object " + value;
- }
- //http://127.0.0.1:8010/convert/custom?value=123-45-6789
- @RequestMapping("custom")
- public @ResponseBody String customConverter(@RequestParam @MaskFormat("###-##-####") String value) {
- return "Converted '" + value + "' with a custom converter";
- }
- }
利用SPRINGMVC实现POJO的赋值及类型转化,将REQUEST中的参数进行类型转化后赋值给POJO的属性。转化类型(字符,数组,日期,数组,MAP,JAVABEAN)