關(guān)于SpringMVC請求域?qū)ο蟮臄?shù)據(jù)共享問題
SpringMVC支持路徑中的占位符。
可以通過路徑的方式來傳參。restful風(fēng)格。使用{}做占位符在路徑中指定參數(shù),使用@PathVariable注解在參數(shù)列表中指定。
<a th:href="@{/test/1}">傳了參數(shù)</a>
@RequestMapping("/test/{id}")
public String test(@PathVariable("id")Integer id){
System.out.println(id);
return "index";
}如果使用了占位符則請求地址必須有值,否則會(huì)報(bào)404錯(cuò)誤。
獲取請求參數(shù)
使用ServletAPI獲?。ɑ静挥茫?/p>
@RequestMapping("/testParam")
public String Param(HttpServletRequest request){
String userName = request.getParameter("userName");
String password = request.getParameter("password");
return "index";
}通過控制器的形參獲?。ūWC參數(shù)名相同的情況下)牛逼
<a th:href="@{/testParam(username='admin',password='123')}">傳了參數(shù)</a>
@RequestMapping("/testParam")
public String testParam(String username,String password){
System.out.println("username:"+username+",password:"+password);
return "index";
}RequestParam
請求參數(shù)和控制器形參創(chuàng)建映射關(guān)系。
- Value
- Required
- DefaultValue
使用實(shí)體類接受請求參數(shù)
@RequestMapping("/testPojo")
public String testPojo(User user){
System.out.println(user);
return "index";
}配置過濾器,處理亂碼問題
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<!--設(shè)置字符集-->
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<!--強(qiáng)制響應(yīng)字符集-->
<init-param>
<param-name>forceResponseEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>域?qū)ο蠊蚕頂?shù)據(jù)
使用原生ServletAPI向request域?qū)ο蠊蚕頂?shù)據(jù)(不用)
@RequestMapping("/test")
public String test(HttpServletRequest request){
request.setAttribute("hello","hello");
return "index";
}使用ModelAndView對象
返回值類型為ModelAndView
//使用ModelAndView對象的方式
@RequestMapping("/")
public ModelAndView toIndex(HttpServletRequest request){
ModelAndView mav = new ModelAndView();
//設(shè)置共享數(shù)據(jù)
mav.addObject("result","mavResult");
//設(shè)置視圖名稱
//視圖名稱=邏輯視圖名稱。
mav.setViewName("index");
return mav;
}使用Model對象
Model是一個(gè)接口,因此不能像ModelAndView那樣去new。
//使用Model對象的方式
@RequestMapping("/")
public String toIndexModel(Model model){
//設(shè)置共享數(shù)據(jù)
model.addAttribute("result","ModelResult");
return "index";
}使用Map集合
//使用Map對象的方式
@RequestMapping("/")
public String toIndexModel(Map<String,Object> map){
//設(shè)置共享數(shù)據(jù)
map.put("result","MapResult");
return "index";
}使用ModelMap
ModelMap的實(shí)例是由mvc框架自動(dòng)創(chuàng)建并作為控制器方法參數(shù)傳入,無需也不能自己創(chuàng)建。
如自己創(chuàng)建,則無法共享數(shù)據(jù)。
//使用ModelMap對象的方式
@RequestMapping("/")
public String toIndexModel(ModelMap modelMap){
//設(shè)置共享數(shù)據(jù)
modelMap.addAttribute("result","ModelMapResult");
return "index";
}到此這篇關(guān)于SpringMVC請求域?qū)ο蟮臄?shù)據(jù)共享的文章就介紹到這了,更多相關(guān)SpringMVC請求域?qū)ο髢?nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- SpringMVC詳解如何映射請求數(shù)據(jù)
- Java超詳細(xì)講解SpringMVC如何獲取請求數(shù)據(jù)
- SpringMVC 重新定向redirect請求中攜帶數(shù)據(jù)方式
- 使用springmvc的controller層獲取到請求的數(shù)據(jù)方式
- Springmvc獲取前臺請求數(shù)據(jù)過程解析
- Springmvc處理ajax請求并返回json數(shù)據(jù)
- SpringMVC 跨重定向請求傳遞數(shù)據(jù)的方法實(shí)現(xiàn)
- SpringMVC解析JSON請求數(shù)據(jù)問題解析
- SpringMVC請求數(shù)據(jù)詳解講解
相關(guān)文章
Java實(shí)戰(zhàn)小技巧之?dāng)?shù)組與list互轉(zhuǎn)
在Java中,經(jīng)常遇到需要List與數(shù)組互相轉(zhuǎn)換的場景,下面這篇文章主要給大家介紹了關(guān)于Java實(shí)戰(zhàn)小技巧之?dāng)?shù)組與list互轉(zhuǎn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-08-08
java向數(shù)據(jù)庫插入數(shù)據(jù)顯示亂碼的幾種問題解決
這篇文章主要給大家介紹了關(guān)于java向數(shù)據(jù)庫插入數(shù)據(jù)顯示亂碼問題的解決方案,文章分別羅列了前臺亂碼的問題、前臺先后臺插入數(shù)據(jù)后臺接收到的數(shù)據(jù)是亂碼以及后臺向數(shù)據(jù)庫插入數(shù)據(jù)是亂碼等幾種情況,需要的朋友可以參考下2021-11-11
Spring MVC+MyBatis+MySQL實(shí)現(xiàn)分頁功能實(shí)例
分頁功能是我們?nèi)粘i_發(fā)中經(jīng)常會(huì)遇到的,下面這篇文章主要給大家介紹了Spring MVC+MyBatis+MySQL實(shí)現(xiàn)分頁功能的相關(guān)資料,文中介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。2017-06-06
SpringBoot配置 Druid 三種方式(包括純配置文件配置)
本文給大家分享在項(xiàng)目中用純 YML(application.yml 或者 application.properties)文件、Java 代碼配置 Bean 和注解三種方式配置 Alibaba Druid 用于監(jiān)控或者查看 SQL 狀況的相關(guān)知識,感興趣的朋友一起看看吧2021-10-10
SpringBoot整合Security實(shí)現(xiàn)權(quán)限控制框架(案例詳解)
Spring Security是一個(gè)能夠?yàn)榛赟pring的企業(yè)應(yīng)用系統(tǒng)提供聲明式的安全訪問控制解決方案的安全框,是一個(gè)重量級的安全管理框架,本文給大家介紹的非常詳細(xì),需要的朋友參考下吧2021-08-08

