JavaSpringMVC导航路径
在spring mvc中尝试进行一些简单的导航时,我遇到了一个问题。我有一个导航控制器:
@Controller
@RequestMapping("/secure")
public class NavigationController {
@RequestMapping("/operation")
public String processOperationPage() {
//Some logic goes here
return "corpus/operation";
}
@RequestMapping("/configuration")
public String processConfigurationPage() {
//Some logic goes here
return "corpus/configuration";
}
}
下面是我联系该控制器的链接:
<a href="secure/operation.htm">Operation</a>
<a href="secure/configuration.htm">Configuration</a>
第一次点击链接时,一切正常。在浏览器中,我看到了预期的正常路径。例如:http://localhost/obia/secure/configuration.htm
。但如果我在这一页,从这一页我想进入操作。htm当我点击操作链接时,路径如下:http://localhost/obia/secure/secure/operation.htm
secure
出现两次。我怎样才能解决这个问题
# 1 楼答案
你的链接是相对的。在它们前面加一条斜线可以解决这个问题
# 2 楼答案
上面的响应者在使用c:url生成绝对url时有一个正确答案。然而,在某些情况下,由于防火墙配置,JSTL无法正确地知道URL库。在这种情况下,您可以使用相对URL,但它必须知道您从哪里开始。i、 e.在obia/secure/operation页面上。htm,url应该是/安全/配置。htm,或者只是配置。htm。圆点的意思是向上移动一层
# 3 楼答案
根据当前页面,更改相对URL或计算相对URL。例如,您可以将URL更改为基于主机:
# 4 楼答案
如果您使用的是JSP,请改用JSTL:
记住在JSP文件中包含taglib:
通过使用JSTL,您可以避免在应用程序部署到不同的上下文(如
http://host/
和http://host/myapp
)后更改URL第一个将为您生成
http://host/secure/operation.htm
,第二个将为您生成http://host/myapp/secure/operation.htm