使用视图名称映射网址

时间:2012-08-28 23:57:13

标签: java spring spring-mvc tiles

我正在使用tiles + Spring MVC。 当我有一个名为A的视图时,我可以直接访问它,而无需使用网址/A进行任何映射。 我的问题是我有一些名为A/B/C的观点但我无法使用/A/B/C访问它们。 我真的不想为此制作一个控制器。 我有什么选择?

BTW:我不确定谁负责将Url映射到视图名称。任何想法?

2 个答案:

答案 0 :(得分:1)

我认为您正在寻找<mvc:resources>

关于将URL映射到视图
1. Dispatcher servlet接收请求
2.它要求处理程序映射找出相应的控制器 3.然后将请求转发给相应的控制器 4.控制器返回模型(即数据)和逻辑视图名称 5.视图解析器帮助调度程序servlet从逻辑视图名称中查找实际视图。

enter image description here
Source

答案 1 :(得分:0)

您可以使用view-controller元素声明性地在mvc命名空间配置中创建简单控制器,如:

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    ...
    <mvc:view-controller path="/A/B/C" view-name="A/B/C" />
    ...
</beans>

如果您有许多遵循此模式的视图,您可以考虑实现自己的ViewResolver,将整个路径映射到视图名称。看看UrlBasedViewResolver的灵感。