JavaWeb项目中关于jsp页面和Controller控制器中参数传递的理解

当从控制器要跳转到jsp界面时,如果要给jsp页面传递参数的话,需要用model.addAttribute("键名",值)或者request.addAttribute("键名",值)方法来进行传递.参数值是一个键值对,在jsp页面中通过${键名}可以获得该参数的值


传递参数之间参数名是通过容器自动绑定的(请求中携带的参数名是和控制器中方法的形参名进行对应的,与addAttribute()方法中的键值无关,与值也无关),根据参数名相同即可(控制器中方法的形参名和jsp页面中的请求携带的参数名),当jsp页面中请求控制器方法时会根据相同的参数名进行绑定. 而通过addAttribute方法进行数据传递时,键名与请求携带的参数名无关,对请求携带的参数进行赋值时才会用到键名,而值,只需要在控制器中内部进行对应即可(将控制器中的实例对象设置成值),与请求没有任何关系


当从jsp页面往另一个请求中传递参数时,需要在请求后面加上 ?参数名=参数值 的方法来进行传参 还可以用隐藏域的形式进行传参(<input type="hidden" name="id" value="${product.id }">)


当进行参数传递时,要注意Controller方法的简单类型的参数名或者对象的属性名要与jsp页面中的元素的name的值形同,才可以自动进行映射
 

猜你喜欢

转载自blog.csdn.net/Youth_Mr6/article/details/81208730