详解SpringMVC——接收请求参数和页面传参

所属分类: 软件编程 / java 阅读数: 47
收藏 0 赞 0 分享

spring接收请求参数:

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"; 
} 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

JavaWeb项目部署到服务器详细步骤详解

这篇文章主要介绍了JavaWeb项目如何部署到服务器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

IDEA基于支付宝小程序搭建springboot项目的详细步骤

这篇文章主要介绍了IDEA基于支付宝小程序搭建springboot项目的详细步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

详解SpringBoot应用服务启动与安全终止

这篇文章主要介绍了SpringBoot应用服务启动与安全终止,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Spring Boot启动及退出加载项的方法

这篇文章主要介绍了Spring Boot启动及退出加载项的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Spring Data Jpa 自动生成表结构的方法示例

这篇文章主要介绍了Spring Data Jpa 自动生成表结构的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

IDEA中osgi的开发应用指南详解

这篇文章主要介绍了IDEA中osgi的开发应用指南详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

详解用maven将dubbo工程打成jar包运行

这篇文章主要介绍了详解用maven将dubbo工程打成jar包运行,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

详解Java合并数组的两种实现方式

这篇文章主要介绍了Java合并数组的两种实现方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

使用Jenkins Pipeline自动化构建发布Java项目的方法

这篇文章主要介绍了使用Jenkins Pipeline自动化构建发布Java项目的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

使用Maven配置Spring的方法步骤

这篇文章主要介绍了使用Maven配置Spring的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享
查看更多