关于springmvc接收前端日期类参数

方式一:当我们从数据库获取数据显示到页面时传过去的数据类型是date (yyyy-MM-dd HH:mm:ss叫TimeStamp类型) 当页面通过JSTL标签库中的

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt"  prefix="fmt"%>

        "/>

将时间显示为与数据库一样  但是当前台传值到后台时  都是以string类型传回去的但是id可以使integer类型也可以直接封装 这个问题我没看过源码可能讲的有错(request请求体中) 如果用这种方式 先假设一个User  里面有birthday 属性是date 当我们controller中以@requestMapping(“”)

public string saveOrUpdate(User user){}接收就会报错  报的错误为参数类型不匹配 所以以下有两种方式解决此问题

 @RequestMapping("saveOrUpdate")
	public String saveOrUpdate(HttpServletRequest request) throws Exception{
		
		Items items = new Items();
		
		items.setId(Integer.parseInt(request.getParameter("id")));
		items.setName(request.getParameter("name"));
		items.setPrice(Float.parseFloat(request.getParameter("price")));
		items.setPic(request.getParameter("pic"));
		
		String date = request.getParameter("createtime");
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		Date creatDate = sdf.parse(date);
		items.setCreatetime(creatDate);
		
		
		items.setDetail(request.getParameter("detail"));
		
		itemsService.saveOrUpdate(items);



方法二(我们以代码中的Items举例)

重新创建一个类 里面的createTime设置为string类型  其余不变 就可以用

@RequestMapping("saveOrUpdate")
	public String saveOrUpdate(Items item){}

来接收页面传回来的po类了  可以直接封装进去


	<%@ page language="java" contentType="text/html; charset=UTF-8"
	    pageEncoding="UTF-8"%>
	<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
	<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt"  prefix="fmt"%>
	
	
	
	
	
	修改商品信息
	
	
	
	
	
	 
	
修改商品信息:
商品名称
商品价格
商品生产日期 "/>
商品图片

请上传图片的大小不超过3MB

商品简介



jsp页面代码


你可能感兴趣的:(spring)