spring-mvc返回视图jsp页面及重定向

2019-02-27  javaweb jsp apache-tomcat Spring MVC          公开-普

controller层通过加上ResponseBody,springmvc就知道该接口是返回数据

通过ModelAndView

public ModelAndView itemsList() throws Exception{
			
	List<Items> list = itmesService.list();
	//创建ModelAndView视图
	ModelAndView modelAndView = new ModelAndView();
	//将list数据添加到试图里
	modelAndView.addObject("itemList", list);
	modelAndView.setViewName("itemList");//设置视图的名称,即返回到哪个页面
	//由于有视图解析器的作用,省去了前缀和后缀,其实访问的页面为("/WEB-INF/jsp/itemList.jsp")
	return modelAndView;
}

通过ModelAndView实现重定向

public ModelAndView getPage404MV() {        
    ModelAndView mv = new ModelAndView("redirect:/404.htm");
    return mv;
}
要使用forward重定向就只需把redirect换成forward即可,特别的ModelAndView默认使用forward重定向方式。

使用String返回jsp

@RequestMapping("/itemEdit/{id}")
public String itemEdit(@PathVariable("id") Integer id, HttpServletRequest reuqest, Model model) throws Exception{
	
	//String idStr = reuqest.getParameter("id");
	Items items = itmesService.findItemsById(id);
	//将items数据加到视图中
	model.addAttribute("item", items); //这里返回editItem,在@Controller的注解下,回自动添加前缀和后缀,实则是返回到页面("/WEB-INF/jsp/editItem.jsp")
	return "editItem";
}

返回void

public void update(Items items,HttpServletRequest request,HttpServletResponse response)throws Exception{
	//返回数据,将items的内容放入items里,jsp页面调用items就行
	request.setAttribute("items", items);
	//返回指定的页面
	//如果是void类型的话,就不会去调用SpringMvc的架构,因此无法自动加载视图解析器,所以跳转的
	//网页名称应该为其全路径名称
	request.getRequestDispatcher("/WEB-INF/jsp/success.jsp").forward(request, response);
}
Atimynyc https://blog.csdn.net/atimynyc/article/details/79777727
文章内容的h2标题锚点:
通过ModelAdView
通过ModelAdView实现重定向
使用Strig返回j
返回void