SpringMVC___参数绑定以及配置过滤器解决POST乱码

该demo是动态web的project

Controller

@Controller
public class MyController{
/**
	 * 可以通过对象来获取参数,前端只需直接使用与对象里属性名相同的参数名来传值 例如:name=xxx
	 * HandleAdept处理器适配器利用反射从request里把与对象里属性名相同的进行了取值与封装
	 * 如果对象里是属性还是一个对象,那么我们前端页面可以使用如:StuClass.address=xxx的形式进行参数传递
	 * 
	 * 可以通过设置形参来接受数据,前端只需要传入参数名与后台的形参对象中的属性名一致即可自动映射
	 * 
	 * @param stu
	 */
	@RequestMapping(value="/indexJ",method=RequestMethod.GET)
	@ResponseBody//不加,表示进行页面跳转,由于后台这里我们没有进行跳转或者重定向的处理,前端会报错
	public void indexJ(Student stu) {
		// TODO Auto-generated method stub
		System.out.println("进入了indexI(),参数为:"+stu.getName()+" "
		+stu.getStuId()+" "
				+stu.getStuClass());
	}
	
	/**
	 * 使用基本数据类型时,参数的名称必须和浏览器传来的参数的key一致,这样才能实现自动映射
	 * 
	 * 前端输入与参数名相同的参数controller就可以直接获取到对应的参数name=xxx
	 * 
	 * @param name
	 * @param id
	 */
	@GetMapping(value="/indexK")
	@ResponseBody
	public void indexK(String name,String id) {
		// TODO Auto-generated method stub
		System.out.println("参数为:"+name+" "+id);
	}
	
	/**
	 * @RequestParam(value="Name",required=true)
	 * value="xxx"给参数取别名,required为必填
	 * 
	 * 1、如果参数名和浏览器传来的key不一致,可以通过@RequestParam来解决。
	 * 
	 * 
	 * 2、加了@RequestParam之后,如果未重新指定参数名,则默认的参数名依然是原本的参数名。
     * 添加了@RequestParam注解后,对应的参数默认将成为必填参数。
     * 如果没有传递相关的参数,则会抛出400 Bad Request
     * 
     * 3、可以通过设置required=false来设置该参数不是必填;@RequestParam(value="Name",required=false)
     * 
     * 4、可以设置给参数默认值,使用defaultValue,@RequestParam(value="Name",defaultValue="zsl")
	 * @param name
	 * @param id
	 */
	@RequestMapping(value="/indexL",method=RequestMethod.GET)
	@R
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

偷偷学习被我发现

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值