javascript
java控制器接收请求参数_SpringMVC之接收请求参数和页面传参
Spring接收請求參數
1,使用HttpServletRequest獲取
Java代碼
@RequestMapping("/login.do")
public?String?login(HttpServletRequest?request){
String?name?=?request.getParameter("name")
String?pass?=?request.getParameter("pass")
}
2,Spring會自動將表單參數注入到方法參數,和表單的name屬性保持一致。和Struts2一樣
Java代碼
@RequestMapping("/login.do")
public?String?login(HttpServletRequest?request,?String?name,?@RequestParam("pass")String?password)?//?表單屬性是pass,用變量password接收
{
syso(name);
syso(password)
}
3,自動注入Bean屬性
Java代碼
用戶名:
密碼:
//封裝的User類
public?class?User{
private?String?name;
private?String?pass;
}
Java代碼
@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中
Java代碼
@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中
Java代碼
@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中
Java代碼
@RequestMapping("/login.do")
public?String?login(@ModelAttribute("user")?User?user){
//TODO
return?"success";
}
@ModelAttribute("name")
public?String?getName(){
return?name;
}
Session存儲
可以利用HttpServletReequest的getSession()方法
Java代碼
@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:前綴
Java代碼
public?ModelAndView?login(){
RedirectView?view?=?new?RedirectView("regirst.do");
return?new?ModelAndView(view);
}
或者用如下方法,工作中常用的方法:
Java代碼
public?String?login(){
//TODO
return?"redirect:regirst.do";
}
總結
以上是生活随笔為你收集整理的java控制器接收请求参数_SpringMVC之接收请求参数和页面传参的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 佛山慕尼瓷砖怎样鉴别真假?
- 下一篇: 430平方米面积的墙面需要多少方得保温板