Java 链接(href)与Spring MVC中的应用程序无关?
我正在将一个在端口8080上使用简单JavaHttpServer的项目更改为使用SpringMVCServlet框架的项目 应用程序中有很多链接,如:Java 链接(href)与Spring MVC中的应用程序无关?,java,spring,spring-mvc,web.xml,Java,Spring,Spring Mvc,Web.xml,我正在将一个在端口8080上使用简单JavaHttpServer的项目更改为使用SpringMVCServlet框架的项目 应用程序中有很多链接,如: <a href=\"/rule\">Manage rules</a><br/> 但是,除非我像这样将servlet名称放在前面,否则这些都不起作用: "<a href=\"/ServletName/rule\">Manage rules</a><br/>" 如果在视图层中
<a href=\"/rule\">Manage rules</a><br/>
但是,除非我像这样将servlet名称放在前面,否则这些都不起作用:
"<a href=\"/ServletName/rule\">Manage rules</a><br/>"
如果在视图层中使用JSP,请使用具有链接标记的标记库(或自己编写一个)。基本上,link标签必须通过
HttpServletResponse.encodeURL(originalUrl)
JSTL中的标记可以做到这一点,但它只生成URL,而不生成链接标记,但它可以让您像这样到达:
<c:url value="your/relative/url" var="somevar" />
<a href="${somevar}">Link Text</a>
如果在视图层中使用JSP,请使用具有链接标记的标记库(或自己编写一个)。基本上,link标签必须通过
HttpServletResponse.encodeURL(originalUrl)
JSTL中的标记可以做到这一点,但它只生成URL,而不生成链接标记,但它可以让您像这样到达:
<c:url value="your/relative/url" var="somevar" />
<a href="${somevar}">Link Text</a>
所有href链接都与当前上下文相关。如果您使用的是Apache服务器,则可以将Apache服务器配置为在每个请求到达应用服务器之前将servlet名称包含在请求中。所有href链接都与当前上下文相关。如果您使用的是Apache服务器,您可以将Apache服务器配置为在每个请求到达应用服务器之前将servlet名称包含在每个请求中。我想可能有一种方法可以通过xml文件做到这一点——也许可以重写web.xml或applicationContext.xml中的URL或其他内容?@Rory那么,您在视图层中使用了什么?不要告诉我你在做java代码的直接输出。是的..使用HttpServletResponse参数来做HttpServletResponse.getWriter.write(“);@Rory那么上帝会怜悯你的灵魂的。但是你需要这样的东西:HttpServletResponse.getWriter.write(“)你好,恐怕我没有使用JSP。我想可能有一种方法可以通过xml文件做到这一点——也许可以重写web.xml或applicationContext.xml中的URL或其他内容?@Rory那么,您在视图层中使用了什么?不要告诉我你在做java代码的直接输出。是的..使用HttpServletResponse参数来做HttpServletResponse.getWriter.write(“);@Rory那么上帝会怜悯你的灵魂的。但是你需要这样的东西:HttpServletResponse.getWriter.write(“)代码>