【问题标题】:Spring MVC dynamic view + handling non existing viewsSpring MVC 动态视图 + 处理不存在的视图
【发布时间】:2023-03-13 07:15:02
【问题描述】:

我将实现一个 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')

【问题讨论】:

    标签: java spring spring-mvc


    【解决方案1】:

    不适用于UrlBasedViewResolver 和朋友。一旦链到达它,你就被提交了——如果视图 doesn't exist,你将被引导到你的容器配置的任何 404 页面。

    注意:链接 ViewResolver 时,UrlBasedViewResolver 总是需要放在最后,因为无论底层资源是否实际存在,它都会尝试解析任何视图名称。

    【讨论】:

      猜你喜欢
      • 2012-11-28
      • 1970-01-01
      • 2012-06-09
      • 2012-06-05
      • 1970-01-01
      • 2012-05-12
      • 1970-01-01
      • 1970-01-01
      • 2013-12-18
      相关资源
      最近更新 更多