Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 链接(href)与Spring MVC中的应用程序无关?_Java_Spring_Spring Mvc_Web.xml - Fatal编程技术网

Java 链接(href)与Spring MVC中的应用程序无关?

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/>" 如果在视图层中

我正在将一个在端口8080上使用简单JavaHttpServer的项目更改为使用SpringMVCServlet框架的项目

应用程序中有很多链接,如:

<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(“)HttpServletResponse.getWriter.write(“)