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属性

用户名:

密码:

//封装的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 data = new HashMap();

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

}

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

java 页面接收参数_详解SpringMVC——接收请求参数和页面传参相关推荐

  1. java mvc页面传值方式_详解SpringMVC的ModelAndView传值方法

    SpringMVC的ModelAndView传值方法 SpringMVC提供的ModelAndView可以很方便的将后台的值传到前台,前台页面直接使用EL表达式进行获取,获取方式: 1. @Reque ...

  2. java webmethod 参数_java详解Spring接收web请求参数的方式

    本篇文章给大家带来的内容是java详解Spring接收web请求参数的方式 .有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助. 1 查询参数 请求格式:url?参数1=值1&参 ...

  3. java新建一个女朋友_详解java创建一个女朋友类(对象啥的new一个就是)==建造者模式,一键重写...

    创建一个女朋友,她有很多的属性,比如:性别,年龄,身高,体重,类型等等,虽然每个女朋友都有这些属性,但是每个人找女朋友的要求都是不一样的,有的人喜欢男的,有的人喜欢女的,有的喜欢胖的,不同的人可以根据 ...

  4. python中什么是可变参数_详解Python的三种可变参数

    详解Python的三种可变参数 可变参数 可变参数应该最简单,在C/C++和Java等语言中都有,就是用*号来表示,例如 def testArg(*arg) 你可以传入任意多个元素(包括0)到参数中, ...

  5. python函数中可变参数的传递方式是_详解Python函数可变参数定义及其参数传递方式...

    Python函数可变参数定义及其参数传递方式详解 python中 函数不定参数的定义形式如下 1. func(*args) 传入的参数为以元组形式存在args中,如: def func(*args): ...

  6. java 配置文件的路径_详解java配置文件的路径问题

    详解java配置文件的路径问题 详解java配置文件的路径问题 各种语言都有自己所支持的配置文件,配置文件中有很多变量是经常改变的.不将程序中的各种变量写死,这样能更方便地脱离程序本身去修改相关变量设 ...

  7. python函数中可变参数的传递方式_详解Python函数可变参数定义及其参数传递方式...

    Python函数可变参数定义及其参数传递方式详解 python中 函数不定参数的定义形式如下 1. func(*args) 传入的参数为以元组形式存在args中,如: def func(*args): ...

  8. java request获取域,Java Web - Servlet(13)HttpServletRequest详解(获取请求数据、请求分派、请求域)(二)...

    Java Web -- Servlet(13)HttpServletRequest详解(获取请求数据.请求分派.请求域)(2) HttpServletRequest ----------------- ...

  9. java sort 第二个参数_详解java Collections.sort的两种用法

    Collections是一个工具类,sort是其中的静态方法,是用来对List类型进行排序的,它有两种参数形式: public static > void sort(List list) { l ...

最新文章

  1. 【 MATLAB 】Fourier Transforms ( fft )
  2. Qt5.1.1 + VS2010安装错误(Unable to find a Qt build)
  3. identification for completing the census
  4. [转]java构造方法的访问修饰符
  5. CNN-1: LeNet-5 卷积神经网络模型
  6. linux man命令 0-8,Linux命令Man解释:SUDO(8):以root身份执行指令
  7. 5-9轻量型网络结构
  8. 第一模块:开发基础 第1章·Python基础语法
  9. java去哪导包_在Java语言中,哪一个包中的类是自动导入的?( )java.applet
  10. Windows 安装Bazel (安装过程中报远程服务器错,先记下来方法)
  11. python自带的解释器和编辑器叫什么_(四)python自带解释器(LDIE)的使用
  12. Canny算法解析,opencv源码实现及实例
  13. qgis导出shp_使用QGIS将文本坐标转换为矢量文件
  14. 第二届广东大学生网络安全攻防大赛 个人向Write Up
  15. C语言C++制作游戏外挂,一个简单的内存外挂!
  16. 费解的开关 (蓝桥杯倒计时12天)
  17. u盘中毒如何删除system volume information文件
  18. 11.18-刷题日结
  19. https安全证书过期的原因
  20. MMDetection亲测安装教程

热门文章

  1. 2017.9.23 Count on a tree 思考记录
  2. 【英语学习】【English L06】U01 Breakfast L4 Drink Morning Tea
  3. 【英语学习】【WOTD】largesse 释义/词源/示例
  4. core微型计算机,UPC-CHT01 | 专业创客微型计算机板_UP Core - AAEON
  5. 关于redis的pipline和lua脚本
  6. linux中执行历史第五个命令,Linux 快速执行历史命令,用 !编号
  7. A way to visualize mip levels
  8. UE3 中文教程主页
  9. 我们为什么这样选择损失函数
  10. 文件描述符file descriptor与inode的相关知识