open class UrlTag : HtmlEscapingAwareTag, ParamAware
The <url>
tag creates URLs. Modeled after the JSTL c:url tag with backwards compatibility in mind.
Enhancements to the JSTL functionality include:
Template URI variables are indicated in the 'value'
attribute and marked by braces '{variableName}'. The braces and attribute name are replaced by the URL encoded value of a parameter defined with the spring:param tag in the body of the url tag. If no parameter is available the literal value is passed through. Params matched to template variables will not be added to the query string.
Use of the spring:param tag for URI template variables is strongly recommended over direct EL substitution as the values are URL encoded. Failure to properly encode URL can leave an application vulnerable to XSS and other injection attacks.
URLs can be HTML/XML escaped by setting the 'htmlEscape'
attribute to 'true'. Detects an HTML escaping setting, either on this tag instance, the page level, or the web.xml
level. The default is 'false'. When setting the URL value into a variable, escaping is not recommended.
Example usage:
<spring:url value="/url/path/{variableName}"> <spring:param name="variableName" value="more than JSTL c:url" /> </spring:url>
The above results in: /currentApplicationContext/url/path/more%20than%20JSTL%20c%3Aurl
Author
Scott Andrews
Since
3.0
See Also
ParamTag
UrlTag()
The Enhancements to the JSTL functionality include:
Template URI variables are indicated in the Use of the spring:param tag for URI template variables is strongly recommended over direct EL substitution as the values are URL encoded. Failure to properly encode URL can leave an application vulnerable to XSS and other injection attacks. URLs can be HTML/XML escaped by setting the Example usage:
The above results in: |
open fun addParam(param: Param): Unit |
|
open fun doEndTag(): Int |
|
open fun doStartTagInternal(): Int |
|
open fun setContext(context: String): Unit
Set the context path for the URL. Defaults to the current context |
|
open fun setJavaScriptEscape(javaScriptEscape: Boolean): Unit
Set JavaScript escaping for this tag, as boolean value. Default is "false". |
|
open fun setScope(scope: String): Unit
Set the scope to export the URL variable to. This attribute has no meaning unless var is also defined. |
|
open fun setValue(value: String): Unit
Sets the value of the URL |
|
open fun setVar(var: String): Unit
Set the variable name to expose the URL under. Defaults to rendering the URL to the current JspWriter |