Python 官方文档:入门教程 => 点击学习
springMVC接收java.util.Date类型数据 在Controller中如下定义方法 public PassQueryRequest trade(@ModelAttr
在Controller中如下定义方法
public PassQueryRequest trade(@ModelAttribute PassQueryRequest tradeRequest,
@RequestParam(value="startDate", required=true)Date startDate,
@RequestParam(value="endDate", required=true)Date endDate
在PassQueryRequest中,在日期属性的set方法中增加定义,以及Maven配置
@DateTimeFORMat(pattern="yyyy-MM-dd HH:mm:ss")
public Date getStartDate() {
return startDate;
}
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>${joda-time.version}</version>
</dependency>
@org.springframework.WEB.bind.annotation.InitBinder
public void InitBinder(
ServletRequestDataBinder binder) {
// 不要删除下行注释!!! 将来"yyyy-MM-dd"将配置到properties文件中
// SimpleDateFormat dateFormat = new
// SimpleDateFormat(getText("date.format", request.getLocale()));
System.out.println("执行了InitBinder方法");
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
dateFormat.setLenient(false);
binder.reGISterCustomEditor(Date.class, null, new CustomDateEditor(dateFormat, true));
}
springmvc Controller类中需要接收的是Date类型,但是在页面端传过来的是String类型,就会出现以下异常
Failed to convert value of type 'java.lang.String' to required type 'java.util.Date';
这里提供三种解决方案。
@Controller
@RequestMapping("order")
public class OrderCtrl extends CtrlSupport {
private static final Logger logger = LoggerFactory.getLogger(OrderCtrl.class);
// 将字符串转换为Date类
@InitBinder
public void initBinder(WebDataBinder binder, WebRequest request) {
// 转换日期格式
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
}
}
1.创建convertDate类实现WebBindingInitializer接口
public class convertDate implements WebBindingInitializer{
@Override
public void initBinder(WebDataBinder binder, WebRequest request) {
// TODO Auto-generated method stub
//转换日期
DateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
}
}
2.在Spring-MVC.xml中配置日期转换
<!-- 日期转换 -->
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="webBindingInitializer">
<bean class="com.wx.web.convertDate"/>
</property>
</bean>
import org.springframework.format.annotation.DateTimeFormat;
import com.fasterxml.jackson.annotation.JSONFormat;
@DateTimeFormat(pattern = "yyyy-MM-dd")
@jsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
public Date getGetLicenseTime() {
return getLicenseTime;
}
public void setGetLicenseTime(Date getLicenseTime) {
this.getLicenseTime = getLicenseTime;
}
@JsonFormat
默认是标准时区的时间, 北京时间 东八区 timezone=”GMT+8”
作用:后台的时间 格式化 发送到前台
@DateTimeFormat
接受前台的时间格式 传到后台的格式
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
--结束END--
本文标题: SpringMVC接收java.util.Date类型数据的2种方式小结
本文链接: https://www.lsjlt.com/news/132258.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0