org.apache.struts2.components
Class URL

java.lang.Object
  extended by org.apache.struts2.components.Component
      extended by org.apache.struts2.components.ContextBean
          extended by org.apache.struts2.components.URL

public class URL
extends ContextBean

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.

Examples

 

 <-- Example 1 -->
 <s:url value="editGadget.action">
     <s:param name="id" value="%{selected}" />
 </s:url>

 <-- Example 2 -->
 <s:url action="editGadget">
     <s:param name="id" value="%{selected}" />
 </s:url>

 <-- Example 3-->
 <s:url includeParams="get">
     <s:param name="id" value="%{'22'}" />
 </s:url>

 
 

See Also:
Param

Nested Class Summary
static interface URL.ExtraParameterProvider
           
 
Field Summary
protected  String action
           
static String ALL
           
protected  String anchor
           
protected  boolean encode
           
protected  boolean escapeAmp
           
protected  URL.ExtraParameterProvider extraParameterProvider
           
protected  boolean forceAddSchemeHostAndPort
           
static String GET
           
protected  boolean includeContext
           
protected  String includeParams
           
private static Logger LOG
           
protected  String method
           
protected  String namespace
           
static String NONE
          The includeParams attribute may have the value 'none', 'get' or 'all'.
protected  String portletMode
           
protected  String portletUrlType
           
protected  HttpServletRequest req
           
protected  HttpServletResponse res
           
protected  String scheme
           
protected  String urlIncludeParams
           
protected  UrlRenderer urlRenderer
           
protected  String value
           
protected  String windowState
           
 
Fields inherited from class org.apache.struts2.components.ContextBean
var
 
Fields inherited from class org.apache.struts2.components.Component
actionMapper, COMPONENT_STACK, parameters, stack
 
Constructor Summary
URL(ValueStack stack, HttpServletRequest req, HttpServletResponse res)
           
 
Method Summary
 boolean end(Writer writer, String body)
          Callback for the end tag of this component.
 void setAction(String action)
           
 void setAnchor(String anchor)
           
 void setEncode(boolean encode)
           
 void setEscapeAmp(boolean escapeAmp)
           
 void setExtraParameterProvider(URL.ExtraParameterProvider provider)
           
 void setForceAddSchemeHostAndPort(boolean forceAddSchemeHostAndPort)
           
 void setIncludeContext(boolean includeContext)
           
 void setIncludeParams(String includeParams)
           
 void setMethod(String method)
           
 void setNamespace(String namespace)
           
 void setPortletMode(String portletMode)
           
 void setPortletUrlType(String portletUrlType)
           
 void setScheme(String scheme)
           
 void setUrlIncludeParams(String urlIncludeParams)
           
 void setUrlRenderer(UrlRenderer urlRenderer)
           
 void setValue(String value)
           
 void setWindowState(String windowState)
           
 boolean start(Writer writer)
          Callback for the start tag of this component.
 
Methods inherited from class org.apache.struts2.components.ContextBean
getVar, putInContext, setId, setVar
 
Methods inherited from class org.apache.struts2.components.Component
addAllParameters, addParameter, altSyntax, copyParams, determineActionURL, determineNamespace, end, fieldError, findAncestor, findString, findString, findValue, findValue, findValue, getComponentStack, getParameters, getStack, popComponentStack, setActionMapper, toString, usesBody
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOG

private static final Logger LOG

NONE

public static final String NONE
The includeParams attribute may have the value 'none', 'get' or 'all'. It is used when the url tag is used without a value attribute. Its value is looked up on the ValueStack If no includeParams is specified then 'get' is used. none - include no parameters in the URL get - include only GET parameters in the URL (default) all - include both GET and POST parameters in the URL

See Also:
Constant Field Values

GET

public static final String GET
See Also:
Constant Field Values

ALL

public static final String ALL
See Also:
Constant Field Values

req

protected HttpServletRequest req

res

protected HttpServletResponse res

includeParams

protected String includeParams

scheme

protected String scheme

value

protected String value

action

protected String action

namespace

protected String namespace

method

protected String method

encode

protected boolean encode

includeContext

protected boolean includeContext

escapeAmp

protected boolean escapeAmp

portletMode

protected String portletMode

windowState

protected String windowState

portletUrlType

protected String portletUrlType

anchor

protected String anchor

forceAddSchemeHostAndPort

protected boolean forceAddSchemeHostAndPort

urlIncludeParams

protected String urlIncludeParams

extraParameterProvider

protected URL.ExtraParameterProvider extraParameterProvider

urlRenderer

protected UrlRenderer urlRenderer
Constructor Detail

URL

public URL(ValueStack stack,
           HttpServletRequest req,
           HttpServletResponse res)
Method Detail

setUrlIncludeParams

public void setUrlIncludeParams(String urlIncludeParams)

setUrlRenderer

public void setUrlRenderer(UrlRenderer urlRenderer)

setExtraParameterProvider

public void setExtraParameterProvider(URL.ExtraParameterProvider provider)

start

public boolean start(Writer writer)
Description copied from class: Component
Callback for the start tag of this component. Should the body be evaluated?

Overrides:
start in class Component
Parameters:
writer - the output writer.
Returns:
true if the body should be evaluated

end

public boolean end(Writer writer,
                   String body)
Description copied from class: Component
Callback for the end tag of this component. Should the body be evaluated again?

NOTE: will pop component stack.

Overrides:
end in class Component
Parameters:
writer - the output writer.
body - the rendered body.
Returns:
true if the body should be evaluated again

setIncludeParams

public void setIncludeParams(String includeParams)

setScheme

public void setScheme(String scheme)

setValue

public void setValue(String value)

setAction

public void setAction(String action)

setNamespace

public void setNamespace(String namespace)

setMethod

public void setMethod(String method)

setEncode

public void setEncode(boolean encode)

setIncludeContext

public void setIncludeContext(boolean includeContext)

setPortletMode

public void setPortletMode(String portletMode)

setWindowState

public void setWindowState(String windowState)

setPortletUrlType

public void setPortletUrlType(String portletUrlType)

setAnchor

public void setAnchor(String anchor)

setEscapeAmp

public void setEscapeAmp(boolean escapeAmp)

setForceAddSchemeHostAndPort

public void setForceAddSchemeHostAndPort(boolean forceAddSchemeHostAndPort)


Copyright © 2000-2008 Apache Software Foundation. All Rights Reserved.