SpringMVC:处理器方法的参数问题,中文乱码问题

处理器方法中的参数类型有很多,常用的有6种(这些参数值都是由系统自动赋值,程序员只需要在处理器方法中直接使用即可)HttpServletRequest、HttpServletResponse、HttpSession Model、Map<String,Object>,请求中所携带的参数。今天着重说明后两种。


一、中文乱码问题:

中文乱码问题的解决分get方法和post方法,方法不一样解决思路也不一样,但是最好的解决方法就是使用过滤器,为此,我们的框架已经为我们定义好了,只需要调用就好了。

在web.xml中注册过滤器:

SpringMVC:处理器方法的参数问题,中文乱码问题


二、map作为处理器的参数:

SpringMVC:处理器方法的参数问题,中文乱码问题

说明:map.put()相当于request.setAttribute()。

我们在welcome.jsp页面中${name}${age}就能获取相应的数据。


三、逐个接收表单中的数据:

SpringMVC:处理器方法的参数问题,中文乱码问题

SpringMVC:处理器方法的参数问题,中文乱码问题

当然也可以通过Map<String,String> map共享数据,如图:

SpringMVC:处理器方法的参数问题,中文乱码问题

我们在weclcome页面通过${name}、${age}便可获得相应数据。

注意:逐个接收数据有这样的弊端:

  • 面对大量数据需要传递接收时,效率比较低。

  • 不能把数据自动放进请求域里。


四、校正请求参数名称:

上面逐个接收的例子,我们表单的name和处理器方法中定义的名字一样,倘若不一样怎么解决呢?

SpringMVC:处理器方法的参数问题,中文乱码问题

表单传过来的是name和age,但是方法里确是sname、sage,为了保证运行,必须通过校正符校正。


五、使用map整体接收参数:

SpringMVC:处理器方法的参数问题,中文乱码问题

注意:

  • map接收数据不会自动装换类型。

  • 不会自动放到request域里。


六、使用自定义类型对象对请求参数进行整体接收:

创建student类和school类如图:

SpringMVC:处理器方法的参数问题,中文乱码问题

SpringMVC:处理器方法的参数问题,中文乱码问题

创建表单:

SpringMVC:处理器方法的参数问题,中文乱码问题

处理器:

SpringMVC:处理器方法的参数问题,中文乱码问题

我们在welcome页面通过${student}即可输出表单传过来的所有数据。


七、RESTFUL风格,获取路径变量的参数:

这种方法处理的参数不是来自于表单,而是来自于路径。

SpringMVC:处理器方法的参数问题,中文乱码问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值