有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

JavaSpringMVC动态视图+处理不存在的视图

我将实现一个Spring MVC控制器,它使用作为参数传递的动态视图来查看:

@Controller
@RequestMapping("/page")
public class PageController  {

    @RequestMapping(value = "/{page}", method = {RequestMethod.GET})
    public ModelAndView page(@PathVariable("page")String page) {
        System.out.println("page = " + page);

        return new ModelAndView(page);
    }
}

视图由UrlBasedViewResolver解析:

<bean id="viewResolver"
      class="org.springframework.web.servlet.view.UrlBasedViewResolver">
    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
    <property name="prefix" value="/WEB-INF/jsp/"/>
    <property name="suffix" value=".jsp"/>
    <property name="cache" value="false"/>
</bean> 

当请求不存在的视图时,是否有方法返回默认视图?也许要检查是否不存在视图,然后返回new ModelAndView('requested_page_not_found')


共 (1) 个答案

  1. # 1 楼答案

    UrlBasedViewResolver和朋友不在一起。一旦链到达它,您将被提交,如果视图doesn't exist,您将被定向到您的容器配置的404页面

    Note: When chaining ViewResolvers, a UrlBasedViewResolver always needs to be last, as it will attempt to resolve any view name, no matter whether the underlying resource actually exists.