在将WAR文件部署到本地后,我可以通过“ localhost:8080 / [WAR文件名] /”访问索引页,但是如果不通过添加“ / [WAR文件名]手动修复URL,就无法访问其他页面。 /”,位于“ localhost:8080”和控制器的RequestMapping值之间。
如何配置它会自动在URI中添加“ / [WAR文件名] /”(而不是将WAR导出为ROOT.war)
答案 0 :(得分:0)
如果您使用Thymeleaf模板引擎,则需要使用Link URL syntax来获取模板中的链接,这些链接可以正确地呈现为相对URL。因此,如果您希望HTML中的链接指向(例如)
<a href="/[WAR file name]/books/list">See all books</a>
您需要将其作为模板包含在
中<a th:href="@{/books/list}">See all books</a>
如果愿意,还可以保留原始的href属性:
<a href="/books/list" th:href="@{/books/list}">See all books</a>
例如,如果出于设计目的在MVC应用程序之外使用Thymeleaf模板,这可能会很有用,但是当由Tomcat提供服务时,它将被th:href值覆盖。