【问题标题】:Extensionless URL with Spring MVC and Freemarker使用 Spring MVC 和 Freemarker 的无扩展 URL
【发布时间】:2012-01-09 23:09:35
【问题描述】:

我正在从事一个涉及 Freemarker 和 Spring MVC 的项目,并且在表示层中,所有页面都有一个“.ftl”扩展名。

现在出现了一个后期要求,他们希望我删除所有这些扩展名并让所有 URL 都没有扩展名。例如,如果一个 URL 曾经是:

http://localhost:8080/index.ftl

他们希望新的 URL 是:

http://localhost:8080/index

UrlRewriteFilter 对我来说是新的。任何有关如何配置规则的帮助将不胜感激。 谢谢

【问题讨论】:

  • 我从未使用过 Spring MVC,但在任何不完全是笑话的 MVC 框架中,公共 URL 应该引用 MVC 控制器(操作),而不是 MVC 视图。 FreeMarker、Velocity 等都是针对 View 的,那么首先在 URL 中的模板名称(带或不带扩展名)有什么作用?也许这就是你应该首先研究的。

标签: spring-mvc url-rewriting freemarker


【解决方案1】:

如果您有标准样式的 Spring MVC 设置,最好的方法可能是将所有控制器中的 @RequestMapping 更改为 @RequestMapping("/index") 而不是 @RequestMapping("/index.ftl") 这可能比编写一堆工作要多重写规则,但它绝对不那么hacky。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-21
    相关资源
    最近更新 更多