四 : springMVC各种跳页面传值

第一种方式 :
返回值为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;
}

posted @ 2017-04-19 09:47  Aaron_东科  阅读(1670)  评论(0编辑  收藏  举报