javascript
Spring MVC 中的 controller层的方法的返回值类型
Controller方法的返回值可以有以下幾種:
1、返回ModelAndView
返回ModelAndView時(shí)最常見(jiàn)的一種返回結(jié)果。需要在方法結(jié)束的時(shí)候定義一個(gè)ModelAndView對(duì)象,并對(duì)Model和View分別進(jìn)行設(shè)置。
2、返回String
1):字符串代表邏輯視圖名
真實(shí)的訪問(wèn)路徑=“前綴”+邏輯視圖名+“后綴”
注意:如果返回的String代表邏輯視圖名的話,那么Model的返回方式如下:
? ?public String testController(Model model){
model.addAttribute(attrName,attrValue);//相當(dāng)于ModelAndView的addObject方法
return "邏輯視圖名";
? ?}
2):代表redirect重定向
redirect的特點(diǎn)和servlet一樣,使用redirect進(jìn)行重定向那么地址欄中的URL會(huì)發(fā)生變化,同時(shí)不會(huì)攜帶上一次的request
案例:
public String testController(Model model){
return "redirect:path";//path代表重定向的地址
}
3):代表forward轉(zhuǎn)發(fā)
通過(guò)forward進(jìn)行轉(zhuǎn)發(fā),地址欄中的URL不會(huì)發(fā)生改變,同時(shí)會(huì)將上一次的request攜帶到寫(xiě)一次請(qǐng)求中去
案例:
public String testController(Model model){
return "forward:path";//path代表轉(zhuǎn)發(fā)的地址
}
3、返回void
返回這種結(jié)果的時(shí)候可以在Controller方法的形參中定義HTTPServletRequest和HTTPServletResponse對(duì)象進(jìn)行請(qǐng)求的接收和響應(yīng)
1)使用request轉(zhuǎn)發(fā)頁(yè)面
? request.getRequestDispatcher("轉(zhuǎn)發(fā)路徑").forward(request,response);
2)使用response進(jìn)行頁(yè)面重定向
? response.sendRedirect("重定向路徑");
3)也可以使用response指定響應(yīng)結(jié)果
? response.setCharacterEncoding("UTF-8");
? response.setContentType("application/json;charset=utf-8");
? response.getWriter.write("json串");
?
?
以上三種返回值沒(méi)有什么重要和不重要的分別,一般來(lái)說(shuō)都會(huì)使用到, 只不過(guò)有的時(shí)候使用的方式會(huì)有一些細(xì)微的差別
轉(zhuǎn)載于:https://www.cnblogs.com/stujike/p/9020900.html
總結(jié)
以上是生活随笔為你收集整理的Spring MVC 中的 controller层的方法的返回值类型的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: kudu 存储引擎简析
- 下一篇: gradle idea java ssm