我正在使用tiles + Spring MVC。
当我有一个名为A
的视图时,我可以直接访问它,而无需使用网址/A
进行任何映射。
我的问题是我有一些名为A/B/C
的观点但我无法使用/A/B/C
访问它们。
我真的不想为此制作一个控制器。
我有什么选择?
BTW:我不确定谁负责将Url映射到视图名称。任何想法?
答案 0 :(得分:1)
我认为您正在寻找<mvc:resources>
。
关于将URL映射到视图
1. Dispatcher servlet接收请求
2.它要求处理程序映射找出相应的控制器
3.然后将请求转发给相应的控制器
4.控制器返回模型(即数据)和逻辑视图名称
5.视图解析器帮助调度程序servlet从逻辑视图名称中查找实际视图。
答案 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的灵感。