第九章SpringMVC 练习2

文章详细探讨了SpringMVC中URL地址栏参数的传递与绑定,解释了参数无法在多个页面间持久保存的原因。同时,介绍了表单参数的传递与绑定,包括接受表单数据的实践以及遇到的中文乱码问题。针对乱码,作者尝试了多种解决方案,并发现表单提交方式(POST)对中文支持更好。最后提到了一个简单的注册案例,展示了多值情况的处理,并指出了显示数据时的命名误区。
摘要由CSDN通过智能技术生成

一、url地址栏参数传递与绑定

运行结果为:

 由于在UidController.java中有System.out.println(Uid);语句,所以在控制台会显示8

 原因理解通过url传递的参数,只能到第二个页面,没法保存,所以不能传递到第三个页面。在本例子中,第一个页面是url.jsp,点击超链接会根据路径到达UidController.java(第二个页面),并传递参数Uid=8,在此页面中Uid值为8,所以输入System.out.println(Uid);,会在控制台显示8;在UidController中将Uid的值8放入模型数据aa中,并加入到ModelAndView,跳转到urlid.jsp页面(即第三个页面),此时再在第三个页面显示aa与Uid的值,aa即为8,而Uid的值没法传到第三个页面,为空。

 

 

 

二、表单参数的传递与绑定

1、练习how2j网站上的接受表单数据

教程:Spring MVC系列教材 (四)- 接受表单数据 (how2j.cn)

其中注意:

(1)在addProduct.jsp产品名称与产品价格input中的name分别为name与price,与Product类中名字对应;并在ProductController中为add方法准备一个Product参数,这样提交的name与price会自动注入到参数 product里,并且参数product会默认被当做值加入到ModelAndView 中。

(2)教材中说将addProduct.jsp放在web目录下,而不是WEB-INF下。于是我尝试将其移到WEB-INF下,运行后出现了404错误,所以这里切勿放错目录。(后续练习中注册的jsp页面也是在web目录下)

 运行结果当我输入英文,可以正常显示;但输入中文,就会出现乱码的情况

 

 

 

 上网查找(java)三种方案解决SpringMVC中表单提交时中文乱码的问题_springboot formsubmit 表单乱码_xiaoniu667的博客-CSDN博客

按照博客中的三种方式还是未解决乱码问题,但是我还是按照这个博客中的第二种方式在web.xml中添加了如下配置:

 !!!但是当我练习下面的注册案例后,我发现在注册时提交中文,结果显示出来并未出现乱码情况,于是我想着应该不是过滤器或配置的原因,上面博客中的三种方式是可行的。通过对比这个

addProduct.jsp与register.jsp,只要加上method="post"就正常显示中文字符。

 但是同时在web.xml记得配置过滤器的。

2、练习注册案例(表单的传递的值有单值和多值的情况)

本案例与上个表单例子类似,在register.jsp提交数据后,进入RegisterController,数据会自动注入到参数reg,reg默认被当做值加入到ModelAndView 中,最后跳转到regilist页面显示用户提交的数据。

其中多值情况主要在注册页面html与register.java有区别

问题:显示页面无法显示提交的数据

 原因:

 这里面应该是类的名称,而不是对象的名称。一开始正是因为写的对象名reg而无法显示出来

 

 

 

 

 

三、简单的计算机

明天再进行练习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值