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

时间:2012-02-15 17:02:11

标签: java spring spring-mvc web.xml

我正在使用端口8080上的简单java HTTPServer更改使用Spring MVC servlet框架的项目。

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

<a href=\"/rule\">Manage rules</a><br/>

使用以下请求正常工作:

http://localhost:8080/send

但是,除非我把servlet名称放在前面,否则现在这些都不起作用了:

"<a href=\"/ServletName/rule\">Manage rules</a><br/>"

只是想知道有没有办法解决这个问题,或者仅仅是改变所有href链接以在它们前面添加servlet名称?

请注意,我不必在方法开头的@RequestMapping调用中添加servlet名称,它唯一的链接就是问题。例如。这可以正常工作,而无需在前面添加servlet名称

@RequestMapping(value = "/send", method = RequestMethod.GET)

1 个答案:

答案 0 :(得分:5)

如果在视图层中使用JSP,请使用具有链接标记的标记库(或自己编写一个)。基本上,链接标记必须通过执行

来创建URL
HttpServletResponse.encodeURL(originalUrl)

JSTL中的<c:url>标记可以做到这一点,但它只会生成网址,而不会生成链接标记,但是它可以让你像这样:

<c:url value="your/relative/url" var="somevar" />
<a href="${somevar}">Link Text</a>