我对Java的经验较少。目前在我的应用程序中,我所有的URL都设置为类似http://localhost:8080/cmt/content/3068fc93/edit.html
的内容
在LIVE上,我的url需要转到http://www.domain.com/content/3068fc93/edit.html
这是我的第一个java应用程序,我不想重新发明轮子。我希望能够使用绝对路径(没有域)(如/content/3068fc93.html
)链接到页面。
更新
任何时候我做<a href='/content/edit.html'>Edit Content</a>
,它都会在LIVE上工作,但在DEV上不工作,因为DEV需要额外的/cmt
。如何在我的两个环境之间修复此问题?
您使用jstl标记作为:
<a href="<c:url value='/content/3068fc93.html'/>">Welcome</a>
其中"c"来自<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
更新
关于cmt部分,您应该在servlet映射上重写url或更改url参数
更新你得到的刺激:
<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>
您只需使用Spring URL标记,以下是文档。
因此,对于您的案例:
<spring:url value="/content/{contentId}/edit.html">
<spring:param name="contentId" value="3068fc93" />
</spring:url>