本文主要是介绍@RequestBody接收json字符串,自动将日期字符串转换为java.util.Date,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.配置springMVC可以接收json字符串
- <?xml version="1.0" encoding="UTF-8"?>
- <beans
- xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:p="http://www.springframework.org/schema/p"
- xmlns:context="http://www.springframework.org/schema/context"
- xmlns:aop="http://www.springframework.org/schema/aop"
- xmlns:tx="http://www.springframework.org/schema/tx"
- xmlns:mvc="http://www.springframework.org/schema/mvc"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
- http://www.springframework.org/schema/context
- http://www.springframework.org/schema/context/spring-context-3.1.xsd
- http://www.springframework.org/schema/tx
- http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
- http://www.springframework.org/schema/aop
- http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
- http://www.springframework.org/schema/mvc
- http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd">
- <!-- 解决@ResponseBody返回中文乱码,解决@RequestBody接收Json字符串自动转换为实体、List、Map格式转换器 -->
- <bean
- class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
- <property name="messageConverters">
- <list>
- <!--
- <bean
- class="org.springframework.http.converter.StringHttpMessageConverter">
- <property name="supportedMediaTypes">
- <list>
- <value>text/html;charset=UTF-8</value>
- </list>
- </property>
- </bean>
- -->
- <bean
- class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
- <property name="supportedMediaTypes">
- <list>
- <value>application/json;charset=UTF-8</value>
- </list>
- </property>
- </bean>
- </list>
- </property>
- </bean>
- <!-- 扫描包,应用Spring的注解 -->
- <context:component-scan base-package="com.mvc.action"></context:component-scan>
- <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
- p:viewClass="org.springframework.web.servlet.view.JstlView"
- p:prefix="/"
- p:suffix=".jsp">
- </bean>
- <!-- SpringMVC自定义拦截器,使SpringMVC开启CORS支持 -->
- <!--
- <mvc:interceptors>
- <mvc:interceptor>
- <mvc:mapping path="/*"/>
- <bean class="com.mvc.dao.CorsInterceptor"></bean>
- </mvc:interceptor>
- </mvc:interceptors>
- -->
- <context:annotation-config/>
- <mvc:annotation-driven/>
- </beans>
- @RequestMapping(value="/addDicAppUsers.do")
- @ResponseBody
- public boolean addDicAppUsers(@RequestBody DicAppUsersModel dicAppUsersModel)
- {
- if(dicAppUsersService.addDicAppUsers(dicAppUsersModel))
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- package com.mvc.model;
- import java.util.Date;
- import org.codehaus.jackson.map.annotate.JsonDeserialize;
- import org.codehaus.jackson.map.annotate.JsonSerialize;
- import com.mvc.imp.DateJsonDeserializer;
- import com.mvc.imp.DateJsonSerializer;
- /**
- * 用户视图类
- * @author suyunlong
- *
- */
- @SuppressWarnings("serial")
- public class DicAppUsersModel implements java.io.Serializable
- {
- private long id;
- private String loginid;
- private String loginname;
- private String loginpassword;
- private String loginunitcode;
- private String workplace;
- @JsonSerialize(using=DateJsonSerializer.class)
- @JsonDeserialize(using=DateJsonDeserializer.class)
- private Date addtime;
- private long sourceid;
- @JsonSerialize(using=DateJsonSerializer.class)
- @JsonDeserialize(using=DateJsonDeserializer.class)
- private Date createdate;
- public DicAppUsersModel() {
- super();
- }
- public DicAppUsersModel(long id, String loginid, String loginname,
- String loginpassword, String loginunitcode, String workplace,
- Date addtime, long sourceid, Date createdate) {
- super();
- this.id = id;
- this.loginid = loginid;
- this.loginname = loginname;
- this.loginpassword = loginpassword;
- this.loginunitcode = loginunitcode;
- this.workplace = workplace;
- this.addtime = addtime;
- this.sourceid = sourceid;
- this.createdate = createdate;
- }
- public long getId() {
- return id;
- }
- public void setId(long id) {
- this.id = id;
- }
- public String getLoginid() {
- return loginid;
- }
- public void setLoginid(String loginid) {
- this.loginid = loginid;
- }
- public String getLoginname() {
- return loginname;
- }
- public void setLoginname(String loginname) {
- this.loginname = loginname;
- }
- public String getLoginpassword() {
- return loginpassword;
- }
- public void setLoginpassword(String loginpassword) {
- this.loginpassword = loginpassword;
- }
- public String getLoginunitcode() {
- return loginunitcode;
- }
- public void setLoginunitcode(String loginunitcode) {
- this.loginunitcode = loginunitcode;
- }
- public String getWorkplace() {
- return workplace;
- }
- public void setWorkplace(String workplace) {
- this.workplace = workplace;
- }
- public Date getAddtime() {
- return addtime;
- }
- public void setAddtime(Date addtime) {
- this.addtime = addtime;
- }
- public long getSourceid() {
- return sourceid;
- }
- public void setSourceid(long sourceid) {
- this.sourceid = sourceid;
- }
- public Date getCreatedate() {
- return createdate;
- }
- public void setCreatedate(Date createdate) {
- this.createdate = createdate;
- }
- }
- package com.mvc.imp;
- import java.io.IOException;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import org.codehaus.jackson.JsonGenerator;
- import org.codehaus.jackson.JsonProcessingException;
- import org.codehaus.jackson.map.JsonSerializer;
- import org.codehaus.jackson.map.SerializerProvider;
- public class DateJsonSerializer extends JsonSerializer<Date>
- {
- public static final SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- public void serialize(Date date,JsonGenerator jsonGenerator,SerializerProvider serializerProvider)
- throws IOException,JsonProcessingException
- {
- jsonGenerator.writeString(format.format(date));
- }
- }
- package com.mvc.imp;
- import java.io.IOException;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import org.codehaus.jackson.JsonParser;
- import org.codehaus.jackson.JsonProcessingException;
- import org.codehaus.jackson.map.DeserializationContext;
- import org.codehaus.jackson.map.JsonDeserializer;
- public class DateJsonDeserializer extends JsonDeserializer<Date>
- {
- public static final SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- public Date deserialize(JsonParser jsonParser,DeserializationContext deserializationContext)
- throws IOException,JsonProcessingException
- {
- try
- {
- return format.parse(jsonParser.getText());
- }
- catch(Exception e)
- {
- System.out.println(e.getMessage());
- throw new RuntimeException(e);
- }
- }
- }
这篇关于@RequestBody接收json字符串,自动将日期字符串转换为java.util.Date的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!