第一種方式 :
返回值為String類型的跳轉頁面,犯法參數里面需要寫Model model
import org.springframework.ui.Model;包下的
、返回String
1):字符串代表邏輯視圖名
真實的訪問路徑=“前綴”+邏輯視圖名+“后綴”
注意:如果返回的String代表邏輯視圖名的話,那么Model的返回方式如下:
public String testController(Model model){
model.addAttribute(attrName,attrValue);//相當於ModelAndView的addObject方法
return "邏輯視圖名";
}
2):代表redirect重定向
redirect的特點和servlet一樣,使用redirect進行重定向那么地址欄中的URL會發生變化,同時不會攜帶上一次的request
案例:
public String testController(Model model){
return "redirect:path";//path代表重定向的地址
}
3):代表forward轉發
通過forward進行轉發,地址欄中的URL不會發生改變,同時會將上一次的request攜帶到寫一次請求中去
案例:
public String testController(Model model){
return "forward:path";//path代表轉發的地址
}
3、返回void
返回這種結果的時候可以在Controller方法的形參中定義HTTPServletRequest和HTTPServletResponse對象進行請求的接收和響應
1)使用request轉發頁面
request.getRequestDispatcher("轉發路徑").forward(request,response);
2)使用response進行頁面重定向
response.sendRedirect("重定向路徑");
3)也可以使用response指定響應結果
response.setCharacterEncoding("UTF-8");
response.setContentType("application/json;charset=utf-8");
response.getWriter.write("json串");
第二種方式 :
@RequestMapping(value="/queryList")
public ModelAndView queryList(){
List list = photosService.queryList();
Map<String,Object> map = new HashMap<String,Object>();
map.put("list", list);
return new ModelAndView("/user/listPage", map);
}
@RequestMapping(value="queryList")
public List
//設置參數的默認值,也就是說如果前台jsp頁面傳來的num為null,
則默認為1
queryList(@RequestParam(defaultValue="1")Integer num){
List list = userService.queryList();
return list;
}