文档章节

SpringMVC---接收请求参数和页面传值

sunru
 sunru
发布于 2017/07/20 23:03
字数 497
阅读 11
收藏 1

Spring接收请求参数:

 

1,使用HttpServletRequest获取

Java代码

  1. @RequestMapping("/login.do")  
  2. public String login(HttpServletRequest request){  
  3.     String name = request.getParameter("name")  
  4.     String pass = request.getParameter("pass")  
  5. }  

 2,Spring会自动将表单参数注入到方法参数,和表单的name属性保持一致。和Struts2一样

Java代码

  1. @RequestMapping("/login.do")  
  2. public String login(HttpServletRequest request,  
  3.                                 String name,  
  4.  @RequestParam("pass")String password) // 表单属性是pass,用变量password接收  
  5. {  
  6.    syso(name);  
  7.    syso(password)  
  8. }  

 

3,自动注入Bean属性

  

Java代码

 

  1. <form action="login.do">  
  2. 用户名:<input name="name"/>  
  3. 密码:<input name="pass"/>  
  4. <input type="submit" value="登陆">  
  5. </form>  
  6.   
  7. //封装的User类  
  8. public class User{  
  9.   private String name;  
  10.   private String pass;  
  11. }  

 

Java代码

  1. @RequestMapping("/login.do")  
  2. public String login(User user)  
  3. {  
  4.    syso(user.getName());  
  5.    syso(user.getPass());  
  6. }  

 

向页面传值:

当Controller组件处理后,向jsp页面传值,

1,使用HttpServletRequest 和 Session  然后setAttribute(),就和Servlet中一样

2,使用ModelAndView对象

3,使用ModelMap对象

4,使用@ModelAttribute注解

 

Model数据会利用HttpServletRequest的Attribute传值到success.jsp中

Java代码

  1. @RequestMapping("/login.do")  
  2. public ModelAndView  login(String name,String pass){  
  3.     User user = userService.login(name,pwd);  
  4.     Map<String,Object> data = new HashMap<String,Object>();  
  5.     data.put("user",user);  
  6.     return new ModelAndView("success",data);  
  7. }  

 

使用ModelMap参数对象示例:

ModelMap数据会利用HttpServletRequest的Attribute传值到success.jsp中

Java代码

  1. @RequestMapping("/login.do")  
  2. public String login(String name,String pass ,ModelMap model){  
  3.     User user  = userService.login(name,pwd);  
  4.     model.addAttribute("user",user);  
  5.     model.put("name",name);  
  6.     return "success";  
  7. }  

 

 使用@ModelAttribute示例

在Controller方法的参数部分或Bean属性方法上使用

@ModelAttribute数据会利用HttpServletRequest的Attribute传值到success.jsp中

Java代码

 

  1. @RequestMapping("/login.do")  
  2. public String login(@ModelAttribute("user") User user){  
  3.     //TODO  
  4.    return "success";  
  5. }  
  6.   
  7. @ModelAttribute("name")  
  8. public String getName(){  
  9.     return name;  
  10. }  

 

Session存储:

可以利用HttpServletReequest的getSession()方法

Java代码

  1. @RequestMapping("/login.do")  
  2. public String login(String name,String pwd  
  3.                             ModelMap model,HttpServletRequest request){  
  4.      User user = serService.login(name,pwd);  
  5.      HttpSession session = request.getSession();  
  6.      session.setAttribute("user",user);  
  7.      model.addAttribute("user",user);  
  8.      return "success";  
  9. }  

 

Spring MVC 默认采用的是转发来定位视图,如果要使用重定向,可以如下操作

1,使用RedirectView

2,使用redirect:前缀

Java代码

  1. public ModelAndView login(){  
  2.    RedirectView view = new RedirectView("regirst.do");  
  3.    return new ModelAndView(view);  
  4. }  

   或者用如下方法,工作中常用的方法:

Java代码

  1. public String login(){  
  2.     //TODO  
  3.     return "redirect:regirst.do";  
  4. }  

 

本文转载自:http://lydia-fly.iteye.com/blog/2152073

共有 人打赏支持
sunru
粉丝 4
博文 71
码字总数 21332
作品 0
南京
私信 提问
SpringMVC之接收请求参数和页面传参

Spring接收请求参数 1,使用HttpServletRequest获取 Java代码 @RequestMapping("/login.do") public String login(HttpServletRequest request){ String name = request.getParameter("name")......

白志华
2015/09/23
0
0
Spring MVC 实践 - Base

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hanqing280441589/article/details/51831530 标签 : Java与Web Spring Web MVC Spring-Web-MVC是一种基于请求...

菜鸟-翡青
2016/07/05
0
0
SpringMVC后台获取前台参数和向前台传值的几种方式

获取前台参数: 我们以用户登录为例,用户登录涉及两个参数: 这是前台登录视图: 相应的前台源码: ------------------------------------------------------ 介绍SpringMVC最常用的3种取值方...

文文1
2018/05/13
0
0
springMVC--(讲解3)数据处理

1.传入数据单个值(方式1) 没有使用视图解析器 controller代码如下 请求代码 注意:请求的参数名(name)必须和接收参数(String name)对齐,否则接收不到。 2.传入数据单个值(方式2) 使用@Requ...

求是科技
2016/10/07
0
0
spring boot 整合swagger2 实现动态生成接口文档

背景介绍 在以往的项目开发中,项目的接口文档一般以word的形式,互相传阅。但是具有以下缺点: 1.接口更新了,文档没更新 2.系统版本多,接口版本也很多,不好管理 3.测试接口时,通常会使用...

杨健-YJ
01/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

dotConnect for Oracle入门指南(六):使用事务

【下载dotConnect for Oracle最新版本】 dotConnect for Oracle(原名OraDirect.NET)建立在ADO.NET技术上,为基于Oracle数据库的应用程序提供完整的解决方案。它为设计应用程序结构带来了新的...

电池盒
11分钟前
1
0
Spring Batch JSR-305 支持

本发布版本中为 JSR-305 支持添加了一个注解。这个为了与 Spring 框架中的 Null-safety 注解取得平衡,然后为 Spring Batch 添加为 public APIs。 这个注解不仅仅在使用 Spring Batch APIs ...

honeymoose
12分钟前
0
0
React Native工程中TSLint静态检查工具的探索之路

背景 建立的代码规范没人遵守,项目中遍地风格迥异的代码,你会不会抓狂? 通过测试用例的程序还会出现Bug,而原因仅仅是自己犯下的低级错误,你会不会抓狂? 某种代码写法存在问题导致崩溃时...

美团技术团队
14分钟前
0
0
mysql update select

在遇到需要update设置的参数来自从其他表select出的结果时,需要把update和select结合使用,不同数据库支持的形式不一样,在mysql中如下: update A inner join(select id,name from B) c on A.i...

张欢19933
17分钟前
0
0
KaliLinuxNetHunter教程刷入第三方Recovery与开始刷机

KaliLinuxNetHunter教程刷入第三方Recovery与开始刷机 2.刷入第三方Recovery(即TWRP) TWRP(TeamWin Recovery Project)是一款XDA大神开发的一款全触屏操作的第三方Recovery。支持滑动确认...

大学霸
20分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部