Tiles 2 且未找到带有 URI 的 HTTP 请求的映射 - Spring-MVC
我想使用 Spring-Tiles 集成。 在这里您可以看到我的应用程序的外观。
所以我的问题是:为什么 Spring-MVC 调度程序 Servlet 无法解析我的目标页面???
I want to use Spring-Tiles intergration. Here you can see how my app looks like.
So my question is: why Spring-MVC dispatcher Servlet can not resolve my Target page ???
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
问题是您在servlet映射中使用
/*
,因此所有请求都由DispatcherServlet
处理,包括对*.jsp
图块。解决这个问题的最通用的方法(但要保持没有前缀的静态 URL)是 使用 UrlRewriteFilter。The problem is that you use
<url-pattern>/*</url-pattern>
in servlet mapping, so all requests are processed byDispatcherServlet
, including request to*.jsp
tiles. The most versatile way to solve it (but to keep restful urls without prefixes) is to use a UrlRewriteFilter.我认为你缺少一个关键的 ViewResolver。我检查了您在 SpringSource 中提到的帖子,但我没有看到以下 ViewResolver:
尝试添加该 ViewResolver 并查看是否有帮助。我也使用 Spring 和 Tiles。我只需要声明它和 TilesConfigurer。
查看这些参考资料:
添加 TilesViewResolver 以在图块定义不存在时启用回退
< a href="http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/web/servlet/view/tiles2/TilesViewResolver.html" rel="nofollow">TilesViewResolver< /a>
I think you're missing a critical ViewResolver. I checked the post you mentioned in SpringSource but I didn't see the following ViewResolver:
Try adding that ViewResolver and see if that would help. I use Spring and Tiles as well. I just have to declare that and the TilesConfigurer.
Check out these references:
Add TilesViewResolver to enable fallback if tiles definition does not exist
TilesViewResolver
这是使用 Spring 的一个常见问题,这是由于视图 (jsp) 通过 DispatcherServlet 这一事实造成的。
尝试使用修改您的 web.xml
,然后添加到您的 urlrewrite.xml 中,如下所示:
我假设您正在使用 urlrewrite,如果您没有导入 jar 并在 web.xml 中添加过滤器映射,例如:
It's a common issue using Spring and it's due to the fact that the view (jsp) goes through the DispatcherServlet.
Try to modify your web.xml using
and then add to your urlrewrite.xml something like:
I'm assuming you're using urlrewrite, if you're not import the jar and add the filter mapping in your web.xml such as: