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

 更新时间:2016年12月08日 16:50:09   作者:周XXXX  
这篇文章主要介绍了详解SpringMVC——接收请求参数和页面传参,小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

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

相关文章

  • Spring Boot日志的打印与持久化详细解析

    Spring Boot日志的打印与持久化详细解析

    Spring Boot默认使用SLF4J+Logback 记录日志,并提供了默认配置,即使我们不进行任何额外配,也可以使用SLF4J+Logback进行日志输出
    2022-07-07
  • Java插入修改删除数据库数据的基本方法

    Java插入修改删除数据库数据的基本方法

    这篇文章主要介绍了Java插入修改删除数据库数据的基本方法,是Java入门学习中的基础知识,需要的朋友可以参考下
    2015-10-10
  • java裁剪图片并保存的示例分享

    java裁剪图片并保存的示例分享

    在这篇文章中我们将学习如何用Java 对图像进行剪裁并将剪裁出来的部分单独保存到文件中
    2014-01-01
  • IntelliJ IDEA将导入的项目转成maven项目

    IntelliJ IDEA将导入的项目转成maven项目

    这篇文章主要介绍了IntelliJ IDEA将导入的项目转成maven项目,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Java实现验证文件名有效性的方法详解

    Java实现验证文件名有效性的方法详解

    在本文中,我们将讨论使用 Java 验证一个给定的字符串是否具有操作系统的有效文件名的不同方法,文中的示例代码讲解详细,感兴趣的可以了解一下
    2022-09-09
  • 解决IDEA的maven项目中没有新建Servlet文件的选项问题

    解决IDEA的maven项目中没有新建Servlet文件的选项问题

    这篇文章主要介绍了IDEA的maven项目中没有新建Servlet文件的选项问题及解决方法,本文给大家分享问题原因就解决方法,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • java如何从地址串中解析提取省市区(完美匹配中国所有地址)

    java如何从地址串中解析提取省市区(完美匹配中国所有地址)

    这篇文章主要给大家介绍了关于java如何从地址串中解析提取省市区的相关资料,通过这个方法可以完美匹配中国所有地址,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • Java设计模式之桥接模式详解

    Java设计模式之桥接模式详解

    桥接模式(Bridge Pattern)是一种结构型设计模式,用于将抽象部分和实现部分`分离开来,从而使它们可以独立地进行变化,本节给大家讲一下设计模式中的桥接模式,并结合实际业务场景给大家讲解如何使用,需要的朋友可以参考下
    2023-07-07
  • Java中的关键字之final详解

    Java中的关键字之final详解

    这篇文章主要介绍了Java中的关键字之final详解,final关键字算是个高频的java基础问题了,面试官可能会问说说final,final修饰的抽象类能够被继承吗等等,下面汇总关于final关键字的知识点,需要的朋友可以参考下
    2024-01-01
  • Java实现简单树结构

    Java实现简单树结构

    这篇文章主要为大家详细介绍了Java实现简单树结构的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01

最新评论