springmvc在controller和视图之间传递参数
从视图向controller传递值, controller <--- 视图
1)简单类型,如int, String, 应在变量名前加@RequestParam注解,
例如:
@RequestMapping("hello3")public String hello3( @RequestParam("name" ) String name,@RequestParam("hobby" ) String hobby){System. out.println("name=" +name);System. out.println("hobby=" +hobby); return "hello" ;}但这样就要求输入里面必须有这两个参数了,可以用required=false来取消,例如:
@RequestParam(value="name",required=false) String name
2)对象类型:
@RequestMapping("/hello4" )public String hello4(User user){System.out.println("user.getName()=" +user.getName());System.out.println("user.getHobby()=" +user.getHobby());return "hello";}Spring MVC会按:
“HTTP请求参数名= 命令/表单对象的属性名”
的规则自动绑定请求数据,支持“级联属性名”,自动进行基本类型数据转换。
即有一个User类,如下
package model;public class User {private String name ;private String hobby ;public User(){}public User(String name, String hobby) {this.name = name;this.hobby = hobby;} //...get/set方法略
则页面上可以用
提交后,把值直接绑定到user对象上。
此外,还可以限定提交方法为POST,即修改方法的@RequestMapping注解为
<filter><filter-name>encodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter </filter-class><init-param><param-name>encoding</param-name><param-value>utf8</param-value></init-param> </filter><filter-mapping><filter-name>encodingFilter</filter-name ><url-pattern>/*</url-pattern> </filter-mapping>
-----------------------以下转载-----------
1,使用HttpServletRequest获取
Java代码2,Spring会自动将表单参数注入到方法参数,和表单的name属性保持一致。和Struts2一样
Java代码
3,自动注入Bean属性
Java代码
Java代码
向页面传值:
当Controller组件处理后,向jsp页面传值,
1,使用HttpServletRequest 和 Session 然后setAttribute(),就和Servlet中一样
2,使用ModelAndView对象
3,使用ModelMap对象
4,使用@ModelAttribute注解
Model数据会利用HttpServletRequest的Attribute传值到success.jsp中
Java代码
使用ModelMap参数对象示例:
ModelMap数据会利用HttpServletRequest的Attribute传值到success.jsp中
Java代码
使用@ModelAttribute示例
在Controller方法的参数部分或Bean属性方法上使用
@ModelAttribute数据会利用HttpServletRequest的Attribute传值到success.jsp中
Java代码
Session存储:
可以利用HttpServletReequest的getSession()方法
Java代码
Spring MVC 默认采用的是转发来定位视图,如果要使用重定向,可以如下操作
1,使用RedirectView
2,使用redirect:前缀
Java代码或者用如下方法,工作中常用的方法:
Java代码
总结
以上是生活随笔为你收集整理的springmvc在controller和视图之间传递参数的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: hadoop为什么出现
- 下一篇: spring mvc 工作流程