您当前的位置: 首页 >  spring

杨林伟

暂无认证

  • 3浏览

    0关注

    3337博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

46SpringMVC - 参数绑定(绑定pojo类型)

杨林伟 发布时间:2019-04-08 16:01:58 ,浏览量:3

需求

将页面修改后的商品信息保存到数据库中。

需求分析
  • 请求的url:/updateItem.action
  • 参数:表单中的数据。
  • 响应内容:更新成功页面
使用pojo接收表单数据

如果提交的参数很多,或者提交的表单中的内容很多的时候,可以使用简单类型接受数据,也可以使用pojo接收数据。

要求: pojo对象中的属性名和表单中input的name属性一致。

页面定义如下图: 在这里插入图片描述

Pojo(逆向工程生成)如下图: 在这里插入图片描述

请求的参数名称和pojo的属性名称一致,会自动将请求参数赋值给pojo的属性。

ItemService接口

ItemService里编写接口方法

/**
 * 根据id更新商品
 * 
 * @param item
 */
void updateItemById(Item item);
ItemServiceImpl实现类

ItemServiceImpl里实现接口方法 使用updateByPrimaryKeySelective(item)方法,忽略空参数

@Override
public void updateItemById(Item item) {
	this.itemMapper.updateByPrimaryKeySelective(item);
}
ItemController
/**
 * 更新商品,绑定pojo类型
 * 
 * @param item
 * @param model
 * @return
 */
@RequestMapping("/updateItem")
public String updateItem(Item item) {
	// 调用服务更新商品
	this.itemService.updateItemById(item);

	// 返回逻辑视图
	return "success";
}

注意: 提交的表单中不要有日期类型的数据,否则会报400错误。如果想提交日期类型的数据需要用到后面的自定义参数绑定的内容。

编写success页面

页面代码:






Insert title here



商品修改成功!



解决post乱码问题

提交发现,保存成功,但是保存的是乱码 在web.xml中加入:


	
		encoding
		org.springframework.web.filter.CharacterEncodingFilter
		
		
			encoding
			UTF-8
		
	
	
		encoding
		/*
	

以上可以解决post请求乱码问题。

对于get请求中文参数出现乱码解决方法有两个:

  1. 修改tomcat配置文件添加编码与工程编码一致,如下:
  2. 另外一种方法对参数进行重新编码: String userName new String(request.getParamter(“userName”).getBytes(“ISO8859-1”),“utf-8”) ISO8859-1是tomcat默认编码,需要将tomcat编码后的内容按utf-8编码
关注
打赏
1662376985
查看更多评论
立即登录/注册

微信扫码登录

0.4705s