一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 詳解SpringMVC——接收請求參數和頁面傳參

詳解SpringMVC——接收請求參數和頁面傳參

2020-07-11 12:04周XXXX Java教程

這篇文章主要介紹了詳解SpringMVC——接收請求參數和頁面傳參,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。

spring接收請求參數:

1,使用HttpServletRequest獲取

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

 2,Spring會自動將表單參數注入到方法參數,和表單的name屬性保持一致。和Struts2一樣

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

3,自動注入Bean屬性 

?
1
2
3
4
5
6
7
8
9
10
11
<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;
}
?
1
2
3
4
5
6
@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中

?
1
2
3
4
5
6
7
@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中

?
1
2
3
4
5
6
7
@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中

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

Session存儲:

可以利用HttpServletReequest的getSession()方法

?
1
2
3
4
5
6
7
8
9
@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:前綴

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

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

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://blog.csdn.net/z69183787/article/details/41653875

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 性做久久久久久久久浪潮 | 高h辣h双处全是肉军婚 | 五月天黄网 | 女教师被女同学调教成脚奴 | 日本黄大片影院一区二区 | 深夜影院深a | 朝鲜女人free性hu | 特黄特色大片免费影院 | 极品美女写真菠萝蜜视频 | 精品无码国产污污污免费网站2 | 小寡妇水真多好紧 | 免费国产成人高清视频网站 | 99re5在线精品视频热线 | chinese男同志videos | 天堂在线中文字幕 | 日韩精品欧美高清区 | 成人黄页网站 | 夫妻性生活免费在线观看 | 成人在线一区二区三区 | 精品免费久久久久久成人影院 | 欧美春宫 | 精品91 | caoporn草棚在线视频 | 青草草产国视频 | 好男人社区www影院在线观看 | 性欧美黑人巨大喷潮xxoo | 日本高免费观看在线播放 | 亚裔maricahase和黑人 | 国产精品国产三级国产专区不 | 特黄特黄一级高清免费大片 | 99久热只有精品视频免费观看17 | 婷婷去我也去 | 91国内在线国内在线播放 | 久青草国产在线观看视频 | 91久久偷偷做嫩草影院电 | 好涨好大我快受不了了视频网 | 欧美帅老头oldmangay | 香蕉eeww99国产精选播放 | 性刺激欧美三级在线现看中文 | 国产精品最新 | 成人依依网 |