Home > Guides > Tag Developers Guide > Struts Tags > Tag Reference > Generic Tag Reference > url |
Please make sure you have read the Tag Syntax document and understand how tag attribute syntax works.
The id
attribute is deprecated in Struts 2.1.x, and has been replaced by the var
attribute.
This tag is used to create a URL.
You can use the <param> tag inside the body to provide additional request parameters. If the value of a param is an Array or an Iterable all the values will be added to the URL.
NOTE:
By default request parameters will be separated using escaped ampersands (i.e., &. This is necessary for XHTML compliance, however, when using the URL generated by this tag with the <s:property> tag, the escapeAmp attribute should be used to disable ampersand escaping.
NOTE:
When includeParams is 'all' or 'get', the parameter defined in a <param> tag will take precedence over any params included due to the includeParams attribute. For example, in Example 3 below, if there is a id parameter in the url where the page this tag is included like http://<host>:<port>/<context>/editUser.action?id=3333&name=John the generated url will be http://<host>:<port>/<context>/editUser.action?id=22&name=John because the parameter defined in the param tag will take precedence.
The property struts.url.includeParams can be used to set the default value of the includeParams attribute.
<struts> ... <constant name="struts.url.includeParams" value="none" /> ... </struts>
See Constant Configuration for further information.
As of Struts 2.1.3 the includeParams
constant defaults to "none".
Dynamic Attributes Allowed:false | |||||
Name | Required | Default | Evaluated | Type | Description |
---|---|---|---|---|---|
action | false | false | String | The action to generate the URL for, if not using value | |
anchor | false | false | String | The anchor for this URL | |
encode | false | true | false | Boolean | Whether to encode parameters |
escapeAmp | false | true | false | Boolean | Specifies whether to escape ampersand (&) to (& or not |
forceAddSchemeHostAndPort | false | false | false | Boolean | Specifies whether to force the addition of scheme, host and port or not |
id | false | false | String | Deprecated. Use 'var' instead | |
includeContext | false | true | false | Boolean | Whether actual context should be included in URL |
includeParams | false | none | false | String | The includeParams attribute may have the value 'none', 'get' or 'all' |
method | false | false | String | The method of action to use | |
namespace | false | false | String | The namespace to use | |
portletMode | false | false | String | The resulting portlet mode | |
portletUrlType | false | false | String | Specifies if this should be a portlet render or action URL. Default is "render". To create an action URL, use "action". | |
scheme | false | false | String | Set scheme attribute | |
value | false | false | String | The target value to use, if not using action | |
var | false | false | String | Name used to reference the value pushed into the Value Stack | |
windowState | false | false | String | The resulting portlet window state |