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

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

相关文章

  • Springboot 整合shiro实现权限控制的方法

    Springboot 整合shiro实现权限控制的方法

    这篇文章主要介绍了Springboot 整合shiro实现权限控制的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • springboot 加载 META-INF/spring.factories方式

    springboot 加载 META-INF/spring.factories方式

    这篇文章主要介绍了springboot 加载 META-INF/spring.factories方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • 如何设置springboot启动端口

    如何设置springboot启动端口

    spring boot是个好东西,可以不用容器直接在main方法中启动,而且无需配置文件,方便快速搭建环境。下面给大家介绍springboot启动端口的设置方法和spring boot创建应用端口冲突8080 问题,感兴趣的朋友一起看看吧
    2017-08-08
  • Java案例之随机验证码功能实现实例

    Java案例之随机验证码功能实现实例

    本篇文章主要介绍了Java案例之随机验证码功能实现实例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • Java线程安全中的原子性浅析

    Java线程安全中的原子性浅析

    这篇文章主要介绍了Java线程安全中的原子性,原子性是指一条线程在执行一系列程序指令操作时,该线程不可中断。一旦出现中断,那么就可能会导致程序执行前后的结果不一致
    2023-02-02
  • RabbitMQ进阶之消息可靠性详解

    RabbitMQ进阶之消息可靠性详解

    这篇文章主要介绍了RabbitMQ进阶之消息可靠性详解,abbitmq消息的投递过程中,怎么确保消息能不丢失,这是一个很重要的问题,哪怕我们做了Rabbitmq持久化,也不能保证我们的业务消息不会被丢失,需要的朋友可以参考下
    2023-08-08
  • Java实现时间和字符串互转

    Java实现时间和字符串互转

    这篇文章主要为大家详细介绍了如何通过Java实现时间对象和字符串互相转换,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-10-10
  • 在Spring Boot中实现多环境配置的方法

    在Spring Boot中实现多环境配置的方法

    在SpringBoot中,实现多环境配置是一项重要且常用的功能,它允许开发者为不同的运行环境,这种方式简化了环境切换的复杂度,提高了项目的可维护性和灵活性,本文给大家介绍在Spring Boot中实现多环境配置的方法,感兴趣的朋友跟随小编一起看看吧
    2024-09-09
  • 分析Spring框架之设计与实现资源加载器

    分析Spring框架之设计与实现资源加载器

    Spring框架是由于软件开发的复杂性而创建的。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。今天来分析它的设计与实现资源加载器,从Spring.xml解析和注册Bean对象
    2021-06-06
  • java Class文件结构解析常量池字节码

    java Class文件结构解析常量池字节码

    这篇文章主要为大家介绍了java Class文件的整体结构解析常量池字节码详细讲解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07

最新评论