spring mvc 存取值
(转)
1,使用HttpServletRequest获取
- @RequestMapping("/login.do")
- public String login(HttpServletRequest request){
- String name = request.getParameter("name")
- String pass = request.getParameter("pass")
- }
2,Spring会自动将表单参数注入到方法参数,和表单的name属性保持一致。和Struts2一样
- @RequestMapping("/login.do")
- public String login(HttpServletRequest request,
- String name,
- @RequestParam("pass")String password) // 表单属性是pass,用变量password接收
- {
- syso(name);
- syso(password)
- }
3,自动注入Bean属性
- <form action="login.do">
- 用户名:<input name="name"/>
- 密码:<input name="pass"/>
- <input type="submit" value="登陆">
- </form>
- //封装的User类
- public class User{
- private String name;
- private String pass;
- }
- @RequestMapping("/login.do")
- public String login(User user)
- {
- syso(user.getName());
- syso(user.getPass());
- }
向页面传值:
当Controller组件处理后,向jsp页面传值,
1,使用HttpServletRequest 和 Session 然后setAttribute(),就和Servlet中一样
2,使用ModelAndView对象
3,使用ModelMap对象
4,使用@ModelAttribute注解
Model数据会利用HttpServletRequest的Attribute传值到success.jsp中
- @RequestMapping("/login.do")
- public ModelAndView login(String name,String pass){
- User user = userService.login(name,pwd);
- Map<String,Object> data = new HashMap<String,Object>();
- data.put("user",user);
- return new ModelAndView("success",data);
- }
使用ModelMap参数对象示例:
ModelMap数据会利用HttpServletRequest的Attribute传值到success.jsp中
- @RequestMapping("/login.do")
- public String login(String name,String pass ,ModelMap model){
- User user = userService.login(name,pwd);
- model.addAttribute("user",user);
- model.put("name",name);
- return "success";
- }
使用@ModelAttribute示例
在Controller方法的参数部分或Bean属性方法上使用
@ModelAttribute数据会利用HttpServletRequest的Attribute传值到success.jsp中
- @RequestMapping("/login.do")
- public String login(@ModelAttribute("user") User user){
- //TODO
- return "success";
- }
- @ModelAttribute("name")
- public String getName(){
- return name;
- }
Session存储:
可以利用HttpServletReequest的getSession()方法
- @RequestMapping("/login.do")
- public String login(String name,String pwd
- ModelMap model,HttpServletRequest request){
- User user = serService.login(name,pwd);
- HttpSession session = request.getSession();
- session.setAttribute("user",user);
- model.addAttribute("user",user);
- return "success";
- }
Spring MVC 默认采用的是转发来定位视图,如果要使用重定向,可以如下操作
1,使用RedirectView
2,使用redirect:前缀
- public ModelAndView login(){
- RedirectView view = new RedirectView("regirst.do");
- return new ModelAndView(view);
- }
或者用如下方法,工作中常用的方法:
- public String login(){
- //TODO
- return "redirect:regirst.do";
- }
spring mvc 存取值的更多相关文章
- spring MVC 返回值信息和ResponseBody的响应json数据
spring mvc的界面返回: 如果我们定义的返回类型是String 那么我们返回的时候直接写入 我们的界面的名字就可以了 springmvc会自动去找到我们的界面,如果是void类型的返回那么 ...
- Spring MVC无法获取ajax POST的参数和值
一.怎么会这个样子 很简单的一个想法,ajax以POST的方式提交一个表单,Spring MVC解析.然而一次次的打印null折磨了我整整一天…… 最后的解决现在看来是很明显的问题,“只是当时已惘然” ...
- Spring MVC 不能正常获取参数的值
最近在开发时遇到一个非常奇怪的问题,在tomcat8中使用Spring MVC框架,在Controller中的方法参数无法正常获取到相应的值,将tomcat版本换成7.0就解决了. 记录以下解决过程, ...
- spring mvc Controller中使用@Value无法获取属性值
在使用spring mvc时,实际上是两个spring容器: 1,dispatcher-servlet.xml 是一个,我们的controller就在这里,所以这个里面也需要注入属性文件 org.sp ...
- Spring MVC学习之三:处理方法返回值的可选类型
http://flyer2010.iteye.com/blog/1294400 ———————————————————————————————————————————————————————————— ...
- 【spring mvc】spring mvc POST方式接收单个字符串参数,不加注解,接收到的值为null,加上@RequestBody,接收到{"uid":"品牌分类大”},加上@RequestParam报错 ---- GET方式接收单个参数的方法
spring mvc POST方式 接收单个参数,不加任何注解,参数名对应,接收到的值为null spring mvc POST方式 接收单个参数,加上@RequestBody,接收到参数格式:{&q ...
- Spring MVC的方法返回值和参数传递
1. SpringMVC方法的返回值类型 3.1String类作为返回值 3.1.1Controller层 /** * 返回值类型为String时,一般用于返回视图名称 * 1.当方法返回值为null ...
- spring mvc表单form值自动传到javabean-注解@ModelAttribute
直接通过Form Bean进行表单可以简化表单提交的处理,特别是对于复杂表单,过于简单的表单就不建议了,因为毕竟需要额外创建一个Form Bean.前段时间项目中有一个比较复杂的表单,有多层次而且涉及 ...
- Spring MVC RedirectAttributes取值方法
RedirectAttributes是Spring mvc 3.1版本之后出来的一个功能,专门用于重定向之后还能带参数跳转的他有两种带参的方式:第一种: attr.addAttribute(" ...
随机推荐
- Java事物基础总结
1.什么是事物? 事物是逻辑上的的一种操作,这个操作过程中的每一个元素要么全部成功,要么全部失败.例如,银行转账过程视为一个事物,转出过程和转入过程要求全部成功或全部失败,通过提交事物或者回滚事物实现 ...
- 解决failed to push some refs to
由于github我使用了dev和feature分支,团队合作合并到dev,个人开发都是feature....今天在本地feature中git pull origin dev 出现 在使用git 对源代 ...
- ThreadLocal学习笔记
首先,ThreadLocal是Java语言提供的用于支持线程局部变量的标准实现类.很多时候,ThreadLocal与Synchronized在功能上有一定的共性,都可以用来解决多线程环境下线程安全问题 ...
- Code First约定-Fluent API配置
转自:http://blog.163.com/m13864039250_1/blog/static/2138652482015283397609/ 用Fluent API 配置/映射属性和类型 简介 ...
- Jquery对raido的一些操作方法
raido 单选组radio: $("input[type=radio][checked]").val(); 获 取一组radio被选中项的值 var item = $('i ...
- 关于Java内存管理的几个小技巧
这里将介绍几则Java内存管理的小技巧,让你让你从Java入门开始告别陋习,为Java程序提速.有不少人都说"Java完了,只等着衰亡吧!",为什么呢?最简单的的例子就是Java做 ...
- CF #244 D. Match & Catch 后缀数组
题目链接:http://codeforces.com/problemset/problem/427/D 大意是寻找两个字符串中最短的公共子串,要求子串在两个串中都是唯一的. 造一个S#T的串,做后缀数 ...
- vue+websocket+express+mongodb实战项目(实时聊天)
继上一个项目用vuejs仿网易云音乐(实现听歌以及搜索功能)后,发现上一个项目单纯用vue的model管理十分混乱,然后我去看了看vuex,打算做一个项目练练手,又不想做一个重复的项目,这次我就放弃颜 ...
- MongoDB Java Driver 3.4操作
导入jar包 <dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-dr ...
- UML总结(对九种图的认识和如何使用Rational Rose 画图)
UML是一种建模语言,是系统建模的标准.我们之所以建模是因为大规模的系统设计时相当复杂的,当系统比较复杂时就会涉及到以下这几个问题: 开发人员如何与用户进行沟通来了解系统的需求? 开发人员之间如何沟通 ...