2011-02-15 11 views

Respuesta

56
<spring:url value="/something" var="url" htmlEscape="true"/> 
<a href="${url}">...</a> 

Pero también utiliza un c: url

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

La única diferencia importante entre c:url y spring:url es, que c:url no codifica la URL HTML creado. Pero para una URL válida, el & entre los parámetros url debe ser un &amp;. Entonces necesitas el c:out para escapar. - En el spring:url ya tiene esta funcionalidad incluida (si entiendo la documentación correcta).

espacios de nombres:

  • 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

+3

También puede utilizar el directorio c: la etiqueta del URL en el atributo href de la etiqueta de anclaje directamente, como en ... digitaljoel

+1

@digitaljoel: Esto correcto, siempre y cuando no es necesario escaparse: apilar a-href c: out y c: url causaría problemas extraños (IDE/Eclipse) porque solo hay dos tipos de apóstrofes ('" 'y' '') - (tenga en cuenta el problema que incluso si no define un parámetro, c: out podría agregar un parámetro para el manejo de la sesión (si las cookies están deshabilitadas)) – Ralph

+0