詳解SpringMVC——接收請(qǐng)求參數(shù)和頁面?zhèn)鲄?/h1>
更新時(shí)間:2016年12月08日 16:50:09 作者:周XXXX
這篇文章主要介紹了詳解SpringMVC——接收請(qǐng)求參數(shù)和頁面?zhèn)鲄?小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。
spring接收請(qǐng)求參數(shù):
1,使用HttpServletRequest獲取
@RequestMapping("/login.do")
public String login(HttpServletRequest request){
String name = request.getParameter("name")
String pass = request.getParameter("pass")
}
2,Spring會(huì)自動(dòng)將表單參數(shù)注入到方法參數(shù),和表單的name屬性保持一致。和Struts2一樣
@RequestMapping("/login.do")
public String login(HttpServletRequest request,
String name,
@RequestParam("pass")String password) // 表單屬性是pass,用變量password接收
{
syso(name);
syso(password)
}
3,自動(dòng)注入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());
}
向頁面?zhèn)髦担?br />
當(dāng)Controller組件處理后,向jsp頁面?zhèn)髦担?br />
1,使用HttpServletRequest 和 Session 然后setAttribute(),就和Servlet中一樣
2,使用ModelAndView對(duì)象
3,使用ModelMap對(duì)象
4,使用@ModelAttribute注解
Model數(shù)據(jù)會(huì)利用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參數(shù)對(duì)象示例:
ModelMap數(shù)據(jù)會(huì)利用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方法的參數(shù)部分或Bean屬性方法上使用
@ModelAttribute數(shù)據(jù)會(huì)利用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存儲(chǔ):
可以利用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 默認(rèn)采用的是轉(zhuǎn)發(fā)來定位視圖,如果要使用重定向,可以如下操作
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";
}
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
-
Springboot 整合shiro實(shí)現(xiàn)權(quán)限控制的方法
這篇文章主要介紹了Springboot 整合shiro實(shí)現(xiàn)權(quán)限控制的相關(guān)知識(shí),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下 2020-11-11
-
springboot 加載 META-INF/spring.factories方式
這篇文章主要介紹了springboot 加載 META-INF/spring.factories方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教 2021-10-10
-
Java案例之隨機(jī)驗(yàn)證碼功能實(shí)現(xiàn)實(shí)例
本篇文章主要介紹了Java案例之隨機(jī)驗(yàn)證碼功能實(shí)現(xiàn)實(shí)例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧 2017-06-06
-
Java實(shí)現(xiàn)時(shí)間和字符串互轉(zhuǎn)
這篇文章主要為大家詳細(xì)介紹了如何通過Java實(shí)現(xiàn)時(shí)間對(duì)象和字符串互相轉(zhuǎn)換,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下 2024-10-10
-
在Spring Boot中實(shí)現(xiàn)多環(huán)境配置的方法
在SpringBoot中,實(shí)現(xiàn)多環(huán)境配置是一項(xiàng)重要且常用的功能,它允許開發(fā)者為不同的運(yùn)行環(huán)境,這種方式簡化了環(huán)境切換的復(fù)雜度,提高了項(xiàng)目的可維護(hù)性和靈活性,本文給大家介紹在Spring Boot中實(shí)現(xiàn)多環(huán)境配置的方法,感興趣的朋友跟隨小編一起看看吧 2024-09-09
-
分析Spring框架之設(shè)計(jì)與實(shí)現(xiàn)資源加載器
Spring框架是由于軟件開發(fā)的復(fù)雜性而創(chuàng)建的。然而,Spring的用途不僅僅限于服務(wù)器端的開發(fā)。從簡單性、可測(cè)試性和松耦合性角度而言,絕大部分Java應(yīng)用都可以從Spring中受益。今天來分析它的設(shè)計(jì)與實(shí)現(xiàn)資源加載器,從Spring.xml解析和注冊(cè)Bean對(duì)象 2021-06-06
-
java Class文件結(jié)構(gòu)解析常量池字節(jié)碼
這篇文章主要為大家介紹了java Class文件的整體結(jié)構(gòu)解析常量池字節(jié)碼詳細(xì)講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪 2022-07-07
最新評(píng)論
spring接收請(qǐng)求參數(shù):
1,使用HttpServletRequest獲取
@RequestMapping("/login.do")
public String login(HttpServletRequest request){
String name = request.getParameter("name")
String pass = request.getParameter("pass")
}
2,Spring會(huì)自動(dòng)將表單參數(shù)注入到方法參數(shù),和表單的name屬性保持一致。和Struts2一樣
@RequestMapping("/login.do")
public String login(HttpServletRequest request,
String name,
@RequestParam("pass")String password) // 表單屬性是pass,用變量password接收
{
syso(name);
syso(password)
}
3,自動(dòng)注入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());
}
向頁面?zhèn)髦担?br />
當(dāng)Controller組件處理后,向jsp頁面?zhèn)髦担?br />
1,使用HttpServletRequest 和 Session 然后setAttribute(),就和Servlet中一樣
2,使用ModelAndView對(duì)象
3,使用ModelMap對(duì)象
4,使用@ModelAttribute注解
Model數(shù)據(jù)會(huì)利用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參數(shù)對(duì)象示例:
ModelMap數(shù)據(jù)會(huì)利用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方法的參數(shù)部分或Bean屬性方法上使用
@ModelAttribute數(shù)據(jù)會(huì)利用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存儲(chǔ):
可以利用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 默認(rèn)采用的是轉(zhuǎn)發(fā)來定位視圖,如果要使用重定向,可以如下操作
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";
}
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Springboot 整合shiro實(shí)現(xiàn)權(quán)限控制的方法
這篇文章主要介紹了Springboot 整合shiro實(shí)現(xiàn)權(quán)限控制的相關(guān)知識(shí),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11
springboot 加載 META-INF/spring.factories方式
這篇文章主要介紹了springboot 加載 META-INF/spring.factories方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10
Java案例之隨機(jī)驗(yàn)證碼功能實(shí)現(xiàn)實(shí)例
本篇文章主要介紹了Java案例之隨機(jī)驗(yàn)證碼功能實(shí)現(xiàn)實(shí)例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06
Java實(shí)現(xiàn)時(shí)間和字符串互轉(zhuǎn)
這篇文章主要為大家詳細(xì)介紹了如何通過Java實(shí)現(xiàn)時(shí)間對(duì)象和字符串互相轉(zhuǎn)換,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-10-10
在Spring Boot中實(shí)現(xiàn)多環(huán)境配置的方法
在SpringBoot中,實(shí)現(xiàn)多環(huán)境配置是一項(xiàng)重要且常用的功能,它允許開發(fā)者為不同的運(yùn)行環(huán)境,這種方式簡化了環(huán)境切換的復(fù)雜度,提高了項(xiàng)目的可維護(hù)性和靈活性,本文給大家介紹在Spring Boot中實(shí)現(xiàn)多環(huán)境配置的方法,感興趣的朋友跟隨小編一起看看吧2024-09-09
分析Spring框架之設(shè)計(jì)與實(shí)現(xiàn)資源加載器
Spring框架是由于軟件開發(fā)的復(fù)雜性而創(chuàng)建的。然而,Spring的用途不僅僅限于服務(wù)器端的開發(fā)。從簡單性、可測(cè)試性和松耦合性角度而言,絕大部分Java應(yīng)用都可以從Spring中受益。今天來分析它的設(shè)計(jì)與實(shí)現(xiàn)資源加載器,從Spring.xml解析和注冊(cè)Bean對(duì)象2021-06-06
java Class文件結(jié)構(gòu)解析常量池字節(jié)碼
這篇文章主要為大家介紹了java Class文件的整體結(jié)構(gòu)解析常量池字節(jié)碼詳細(xì)講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07

