我目前遇到非常奇怪的行为。
如果我的网址不以斜杠结尾,则所有链接都会损坏。具体来说,如果我的网址是“http://localhost:8080/SharedTodoListDemo/todolist”,那么这段代码
<a href="delete" class="btn btn-primary"><spring:message code="todolist.button.delete"/></a>
重定向至“http://localhost:8080/SharedTodoListDemo/delete ”
如果我的网址是“http://localhost:8080/SharedTodoListDemo/todolist/”
然后相同的代码重定向(正确)到“http://localhost:8080/SharedTodoListDemo/todolist/delete ”
您知道为什么会发生这种情况以及该怎么办吗?我正在使用 Spring + Spring MVC,需要统一链接以便能够映射到 Controller 方法。
谢谢。
编辑:
我还尝试过href="/delete"和href="./delete"。第一个更奇怪地重定向到“http://localhost:8080/delete ”,无论 url 中是否有反斜杠,第二个的工作原理与上面相同。
最佳答案
好的,过了一段时间我自己解决了。
这可以解决问题:
<spring:url value="/product/new" var="springLink" />
<a href="${springLink}">spring link</a>
上面的方法在两种情况下都有效(原始网址以斜线结尾或不以斜线结尾)。
与这些不起作用的比较:
<a href="new">my link</a>
<a href="/new">my link</a>
<a href="product/new">my link</a>
<a href="/product/new">my link</a>
关于java - 如果当前 url 不以 "/"(斜杠)结尾,则链接不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30967477/