Prev Class | Next Class | Frames | No Frames |
Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Object
org.apache.struts.taglib.TagUtils
public class TagUtils
extends java.lang.Object
Field Summary | |
private static TagUtils |
|
private static Log |
|
private static MessageResources |
|
private static Map |
|
Constructor Summary | |
|
Method Summary | |
Map |
|
String |
|
String |
|
String |
|
String |
|
String |
|
String |
|
String |
|
ActionErrors |
|
String |
|
String |
|
String |
|
ActionMessages |
|
static TagUtils |
|
ModuleConfig |
|
ModuleConfig |
|
int |
|
Locale |
|
boolean |
|
Object |
|
Object |
|
String |
|
String |
|
String |
|
boolean |
|
MessageResources |
|
void |
|
void |
|
void |
|
private static final Log log
Commons logging instance.
private static final MessageResources messages
The message resources for this package. TODO We need to move the relevant messages out of this properties file.
private static final Map scopes
Maps lowercase JSP scope names to their PageContext integer constant values.
public Map computeParameters(PageContext pageContext, String paramId, String paramName, String paramProperty, String paramScope, String name, String property, String scope, boolean transaction) throws JspException
Compute a set of query parameters that will be dynamically added to a generated URL. The returned Map is keyed by parameter name, and the values are either null (no value specified), a String (single value specified), or a String[] array (multiple values specified). Parameter names correspond to the corresponding attributes of the<html:link>
tag. If no query parameters are identified, returnnull
.
- Parameters:
pageContext
- PageContext we are operating inparamId
- Single-value request parameter name (if any)paramName
- Bean containing single-value parameter valueparamProperty
- Property (of bean named byparamName
containing single-value parameter valueparamScope
- Scope containing bean named byparamName
name
- Bean containing multi-value parameters Map (if any)property
- Property (of bean named byname
containing multi-value parameters Mapscope
- Scope containing bean named byname
transaction
- Should we add our transaction control token?
- Returns:
- Map of query parameters
public String computeURL(PageContext pageContext, String forward, String href, String page, String action, String module, Map params, String anchor, boolean redirect) throws MalformedURLException
public String computeURL(PageContext pageContext, String forward, String href, String page, String action, String module, Map params, String anchor, boolean redirect, boolean encodeSeparator) throws MalformedURLException
public String computeURLWithCharEncoding(PageContext pageContext, String forward, String href, String page, String action, String module, Map params, String anchor, boolean redirect, boolean useLocalEncoding) throws MalformedURLException
Compute a hyperlink URL based on theforward
,href
,action
orpage
parameter that is not null. The returned URL will have already been passed toresponse.encodeURL()
for adding a session identifier.
- Parameters:
pageContext
- PageContext for the tag making this callforward
- Logical forward name for which to look up the context-relative URI (if specified)href
- URL to be utilized unmodified (if specified)page
- Module-relative page for which a URL should be created (if specified)action
- Logical action name for which to look up the context-relative URI (if specified)params
- Map of parameters to be dynamically included (if any)anchor
- Anchor to be dynamically included (if any)redirect
- Is this URL for aresponse.sendRedirect()
?
- Returns:
- URL with session identifier
public String computeURLWithCharEncoding(PageContext pageContext, String forward, String href, String page, String action, String module, Map params, String anchor, boolean redirect, boolean encodeSeparator, boolean useLocalEncoding) throws MalformedURLException
Compute a hyperlink URL based on theforward
,href
,action
orpage
parameter that is not null. The returned URL will have already been passed toresponse.encodeURL()
for adding a session identifier.
- Parameters:
pageContext
- PageContext for the tag making this callforward
- Logical forward name for which to look up the context-relative URI (if specified)href
- URL to be utilized unmodified (if specified)page
- Module-relative page for which a URL should be created (if specified)action
- Logical action name for which to look up the context-relative URI (if specified)params
- Map of parameters to be dynamically included (if any)anchor
- Anchor to be dynamically included (if any)redirect
- Is this URL for aresponse.sendRedirect()
?encodeSeparator
- This is only checked if redirect is set to false (never encoded for a redirect). If true, query string parameter separators are encoded as >amp;, else & is used.useLocalEncoding
- If set to true, urlencoding is done on the bytes of character encoding from ServletResponse#getCharacterEncoding. Use UTF-8 otherwise.
- Returns:
- URL with session identifier
public String encodeURL(String url)
URLencodes a string assuming the character encoding is UTF-8.
- Parameters:
url
-
- Returns:
- String The encoded url in UTF-8
public String encodeURL(String url, String enc)
Use the new URLEncoder.encode() method from Java 1.4 if available, else use the old deprecated version. This method uses reflection to find the appropriate method; if the reflection operations throw exceptions, this will return the url encoded with the old URLEncoder.encode() method.
- Parameters:
enc
- The character encoding the urlencode is performed on.
- Returns:
- String The encoded url.
public String filter(String value)
Filter the specified string for characters that are sensitive to HTML interpreters, returning the string with these characters replaced by the corresponding character entities.
- Parameters:
value
- The string to be filtered and returned
public ActionErrors getActionErrors(PageContext pageContext, String paramName) throws JspException
Deprecated. Use getActionMessages() instead. This will be removed after Struts 1.2.
Retrieves the value from request scope and if it isn't already anErrorMessages
some classes are converted to one.
- Parameters:
pageContext
- The PageContext for the current pageparamName
- Key for parameter value
- Returns:
- ActionErrors from request scope
public String getActionMappingName(String action)
Return the form action converted into an action mapping path. The value of theaction
property is manipulated as follows in computing the name of the requested mapping:
- Any filename extension is removed (on the theory that extension mapping is being used to select the controller servlet).
- If the resulting value does not start with a slash, then a slash is prepended.
public String getActionMappingURL(String action, PageContext pageContext)
Return the form action converted into a server-relative URL.
public String getActionMappingURL(String action, String module, PageContext pageContext, boolean contextRelative)
Return the form action converted into a server-relative URL.
public ActionMessages getActionMessages(PageContext pageContext, String paramName) throws JspException
Retrieves the value from request scope and if it isn't already anActionMessages
, some classes are converted to one.
- Parameters:
pageContext
- The PageContext for the current pageparamName
- Key for parameter value
- Returns:
- ActionErrors in page context.
public ModuleConfig getModuleConfig(PageContext pageContext)
Return the ModuleConfig object if it exists, null if otherwise.
- Parameters:
pageContext
- The page context.
- Returns:
- the ModuleConfig object
public ModuleConfig getModuleConfig(String module, PageContext pageContext)
Return the ModuleConfig object for the given prefix if it exists, null if otherwise.
- Parameters:
module
- The module prefixpageContext
- The page context.
- Returns:
- the ModuleConfig object
public int getScope(String scopeName) throws JspException
Converts the scope name into its corresponding PageContext constant value.
- Parameters:
scopeName
- Can be "page", "request", "session", or "application" in any case.
- Returns:
- The constant representing the scope (ie. PageContext.REQUEST_SCOPE).
public Locale getUserLocale(PageContext pageContext, String locale)
Look up and return current user locale, based on the specified parameters.
- Parameters:
pageContext
- The PageContext associated with this requestlocale
- Name of the session attribute for our user's Locale. If this isnull
, the default locale key is used for the lookup.
- Returns:
- current user locale
public boolean isXhtml(PageContext pageContext)
Returns true if the custom tags are in XHTML mode.
public Object lookup(PageContext pageContext, String name, String scopeName) throws JspException
Locate and return the specified bean, from an optionally specified scope, in the specified page context. If no such bean is found, returnnull
instead. If an exception is thrown, it will have already been saved via a call tosaveException()
.
- Parameters:
pageContext
- Page context to be searchedname
- Name of the bean to be retrievedscopeName
- Scope to be searched (page, request, session, application) ornull
to usefindAttribute()
instead
- Returns:
- JavaBean in the specified page context
public Object lookup(PageContext pageContext, String name, String property, String scope) throws JspException
Locate and return the specified property of the specified bean, from an optionally specified scope, in the specified page context. If an exception is thrown, it will have already been saved via a call tosaveException()
.
- Parameters:
pageContext
- Page context to be searchedname
- Name of the bean to be retrievedproperty
- Name of the property to be retrieved, ornull
to retrieve the bean itselfscope
- Scope to be searched (page, request, session, application) ornull
to usefindAttribute()
instead
- Returns:
- property of specified JavaBean
public String message(PageContext pageContext, String bundle, String locale, String key) throws JspException
Look up and return a message string, based on the specified parameters.
- Parameters:
pageContext
- The PageContext associated with this requestbundle
- Name of the servlet context attribute for our message resources bundlelocale
- Name of the session attribute for our user's Localekey
- Message key to be looked up and returned
- Returns:
- message string
public String message(PageContext pageContext, String bundle, String locale, String key, args[] ) throws JspException
Look up and return a message string, based on the specified parameters.
- Parameters:
pageContext
- The PageContext associated with this requestbundle
- Name of the servlet context attribute for our message resources bundlelocale
- Name of the session attribute for our user's Localekey
- Message key to be looked up and returned
- Returns:
- message string
public String pageURL(HttpServletRequest request, String page, ModuleConfig moduleConfig)
Return the context-relative URL that corresponds to the specifiedpage
attribute value, calculated based on thepagePattern
property of the current module'sModuleConfig
.
- Parameters:
request
- The servlet request we are processingpage
- The module-relative URL to be substituted in to thepagePattern
pattern for the current module (MUST start with a slash)
- Returns:
- context-relative URL
public boolean present(PageContext pageContext, String bundle, String locale, String key) throws JspException
Return true if a message string for the specified message key is present for the specified Locale.
- Parameters:
pageContext
- The PageContext associated with this requestbundle
- Name of the servlet context attribute for our message resources bundlelocale
- Name of the session attribute for our user's Localekey
- Message key to be looked up and returned
- Returns:
- true if a message string for message key exists
public MessageResources retrieveMessageResources(PageContext pageContext, String bundle, boolean checkPageScope) throws JspException
Returns the appropriate MessageResources object for the current module and the given bundle.
- Parameters:
pageContext
- Search the context's scopes for the resources.bundle
- The bundle name to look for. If this isnull
, the default bundle name is used.
- Returns:
- MessageResources The bundle's resources stored in some scope.
public void saveException(PageContext pageContext, Throwable exception)
Save the specified exception as a request attribute for later use.
- Parameters:
pageContext
- The PageContext for the current pageexception
- The exception to be saved
public void write(PageContext pageContext, String text) throws JspException
Write the specified text as the response to the writer associated with this page. WARNING - If you are writing body content from thedoAfterBody()
method of a custom tag class that implementsBodyTag
, you should be callingwritePrevious()
instead.
- Parameters:
pageContext
- The PageContext object for this pagetext
- The text to be written
public void writePrevious(PageContext pageContext, String text) throws JspException
Write the specified text as the response to the writer associated with the body content for the tag within which we are currently nested.
- Parameters:
pageContext
- The PageContext object for this pagetext
- The text to be written