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

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


Solution 1:

 <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