溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringMVC中Controller的返回類型是什么

發(fā)布時間:2021-12-02 15:29:21 來源:億速云 閱讀:189 作者:柒染 欄目:大數(shù)據(jù)

本篇文章為大家展示了SpringMVC中Controller的返回類型是什么,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

SpringMVC 的返回類型:

  • ModelAndView

  • Model

  • ModelMap

  • Map

  • String

  • void

  1. ModelAndView

@RequestMapping("/hello") 
public ModelAndView helloWorld() {      
   String message = "Hello World, Spring 3.x!";    
   return new ModelAndView("hello", "message", message);
}

通過ModelAndView構造方法可以指定返回的頁面名稱,也可以通過setViewName()方法跳轉到指定的頁面。

2. Map

@RequestMapping("/demo/show") 
public Map<String, String> getMap() { 
    Map<String, String> map = new HashMap<String, String>(); 
    map.put("key1", "value-1"); 
    map.put("key2", "value-2"); 
    return map; 
}

在jsp頁面中可直通過${key1}獲得到值, map.put()相當于request.setAttribute方法。

3.String (常用)

指定返回的視圖頁面名稱,結合設置的返回地址路徑加上頁面名稱后綴即可訪問到。 

注意:如果方法聲明了注解 @ResponseBody ,則會直接將返回值輸出到頁面,輸出一段 json 字符串。

@RequestMapping(value="/show")     
public String hello1(){        
   return "hello";    
}
@RequestMapping(value="/print") 
@ResponseBody    
public String print(){        
   String message = "Hello World, Spring MVC!";        
   return message;    
}

返回json的例子(使用Jackson):

/** 
* testJson
* @param model
* @return
*/    
@ResponseBody    
@RequestMapping(value = "testJson", method = RequestMethod.POST)    
public String test(String userName) {        
   JSONObject jsonObject = new JSONObject();        
   jsonObject.put("status", "0");        
   jsonObject.put("status_text", "正常");        
   System.out.println(jsonObject.toString());        
   return jsonObject.toString();      
}

4.void 

如果返回值為空,則響應的視圖頁面對應為訪問地址

@RequestMapping("/index")     
public void index() {        
   return;    
}

對應的邏輯視圖名為”index”。

小結: 

  1. 使用 String 作為請求處理方法的返回值類型是比較通用的方法,這樣返回的邏輯視圖名不會和請求 URL 綁定,具有很大的靈活性,而模型數(shù)據(jù)又可以通過 ModelMap 控制。 

  2. 使用 void, map, Model 時,返回對應的邏輯視圖名稱真實 url 為:prefix 前綴 + 視圖名稱 + suffix 后綴組成。 

  3. 使用String, ModelAndView 返回視圖名稱可以不受請求的url綁定,ModelAndView 可以設置返回的視圖名稱。 

  4. 當使用重定向傳遞參數(shù)中文亂碼問題解決:把中文的參數(shù)放到 model 里傳遞。

model.addAttribute("queryName", user.getQueryName());
//return "redirect:user.jsp?queryName="+user.getQueryName()";
return "redirect:user.jsp";

SpringMVC中Controller的返回類型是什么

上述內(nèi)容就是SpringMVC中Controller的返回類型是什么,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI