How to use <spring:url /> with an <a> tag?

213897 picture 213897 · Feb 15, 2011 · Viewed 60.2k times · Source

Can I use <spring:url value="/something" /> inside of an <a> tag?

Answer

Ralph picture Ralph · Feb 15, 2011
 <spring:url value="/something" var="url" htmlEscape="true"/>
 <a href="${url}">...</a>

But you an also use c:url

 <c:url value="/something" var="url"/>
 <a href="<c:out value='${url}'/>">...</a>

The one important difference between c:url and spring:url is, that c:url does not html encode the created url. But for a valid url the & between the url parameters must be a &amp;. So you need the c:out to escape it. -- In spring:url you have this functionality already included (if I understand the documentation correct).

Namespaces:

  • xmlns:spring="http://www.springframework.org/tags"
  • xmlns:c="http://java.sun.com/jsp/jstl/core"

http://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/spring.tld.html#spring.tld.url