Home > Guides > Tag Developers Guide > Struts Tags > Tag Reference > Generic Tag Reference > url |

Apache Struts 2 Documentation
url
Edit Page Browse Space Add Page Add News

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.

# Description

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., &amp. 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.

## Setting a default value for includeParams

The property struts.url.includeParams can be used to set the default value of the includeParams attribute.

Setting the default value of includeParams

    <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".

# Parameters

#### 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 (&amp or not
forceAddSchemeHostAndPort | false | false | false | Boolean | Specifies whether to force the addition of scheme, host and port or not
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

# Examples