在Spring MVC中的jsp:include或c:import中使用URL模板

时间:2012-06-06 09:52:25

标签: jsp rest spring-mvc

我想在<spring:url>标记中使用使用spring <jsp:include>生成的网址,但它会将上下文路径附加两次。我正在使用Spring MVC 3.1。

<spring:url var="publicationUrl" value="/publications/{id}">
   <spring:param name="id" value="${publication.id}" />
</spring:url>

<!-- publicationUrl = "/myApp/publications/1234" -->

<!-- Both methods fail because they are appending the -->
<!-- context again: "/myApp/myApp/publications/1234"  -->
<jsp:include page="${publicationUrl}" />    
<c:import url="${publicationUrl}" />

1 个答案:

答案 0 :(得分:0)

我找到了一种方法来阻止spring:url预先设置上下文路径。我必须添加一个空的上下文:

<spring:url var="publicationUrl" value="/publications/{id}" context="">
   <spring:param name="id" value="${publication.id}" />
</spring:url>

这个解决方案并不完美,因为我必须创建两个不同的URL:一个用于链接,另一个用于包含。