我对Java的经验不足。目前,在我的应用中,我的所有网址都设置为http://localhost:8080/cmt/content/3068fc93/edit.html
在线直播,我的网址需要转到http://www.domain.com/content/3068fc93/edit.html
这是我的第一个java应用程序,我不想重新发明轮子。我希望能够使用绝对路径(没有域)链接到页面,例如/content/3068fc93.html
。
更新
任何时候我<a href='/content/edit.html'>Edit Content</a>
它都会在LIVE上工作但在DEV上没有,因为DEV需要额外的/cmt
。如何在我的2个环境中修复此问题?
答案 0 :(得分:0)
您可以使用Spring URL标记,这里是docs。
所以对你的情况来说:
<spring:url value="/content/{contentId}/edit.html">
<spring:param name="contentId" value="3068fc93" />
</spring:url>
答案 1 :(得分:0)
您使用jstl标记为:
<a href="<c:url value='/content/3068fc93.html'/>">Welcome</a>
其中'c'来自<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<强>更新强>
关于cmt部分,你应该重写url或在servlet映射上更改你的url参数
<强>更新强> 在prod你有:
<servlet-mapping>
<servlet-name>web-servlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
在开发中你必须拥有:
<servlet-mapping>
<servlet-name>web-servlet</servlet-name>
<url-pattern>/cmt/*</url-pattern>
</servlet-mapping>