Modifier and Type | Field and Description |
---|---|
protected ActionMapper |
actionMapper |
static String |
COMPONENT_STACK |
protected boolean |
devMode |
protected Map |
parameters |
protected ValueStack |
stack |
protected static ConcurrentMap<Class<?>,Collection<String>> |
standardAttributesMap
Caches information about common tag's attributes to reduce scanning for annotation @StrutsTagAttribute
|
protected boolean |
throwExceptionOnELFailure |
Constructor and Description |
---|
Component(ValueStack stack)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
addAllParameters(Map params)
Adds all the given parameters to this component's own parameters.
|
void |
addParameter(String key,
Object value)
Adds the given key and value to this component's own parameter.
|
boolean |
altSyntax()
See
struts.properties where the altSyntax flag is defined. |
protected String |
completeExpressionIfAltSyntax(String expr)
Adds the surrounding %{ } to the expression for proper processing.
|
void |
copyParams(Map params)
Pushes this component's parameter Map as well as the component itself on to the stack
and then copies the supplied parameters over.
|
protected String |
determineActionURL(String action,
String namespace,
String method,
javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse res,
Map parameters,
String scheme,
boolean includeContext,
boolean encodeResult,
boolean forceAddSchemeHostAndPort,
boolean escapeAmp)
Renders an action URL by consulting the
ActionMapper . |
protected String |
determineNamespace(String namespace,
ValueStack stack,
javax.servlet.http.HttpServletRequest req)
Determines the namespace of the current page being renderdd.
|
boolean |
end(Writer writer,
String body)
Callback for the end tag of this component.
|
protected boolean |
end(Writer writer,
String body,
boolean popComponentStack)
Callback for the start tag of this component.
|
boolean |
escapeHtmlBody()
Override to set if body content should be HTML-escaped.
|
protected StrutsException |
fieldError(String field,
String errorMsg,
Exception e)
Constructs a
RuntimeException based on the given information. |
protected Component |
findAncestor(Class clazz)
Finds the nearest ancestor of this component stack.
|
protected String |
findString(String expr)
Evaluates the OGNL stack to find a String value.
|
protected String |
findString(String expr,
String field,
String errorMsg)
Evaluates the OGNL stack to find a String value.
|
protected String |
findStringIfAltSyntax(String expr)
This check is needed for backwards compatibility with 2.1.x
|
protected Object |
findValue(String expr)
Finds a value from the OGNL stack based on the given expression.
|
protected Object |
findValue(String expr,
Class toType)
Evaluates the OGNL stack to find an Object of the given type.
|
protected Object |
findValue(String expr,
String field,
String errorMsg)
Evaluates the OGNL stack to find an Object value.
|
Stack<Component> |
getComponentStack()
Gets the component stack of this component.
|
Map |
getParameters()
Gets the parameters.
|
ValueStack |
getStack()
Gets the OGNL value stack associated with this component.
|
protected Collection<String> |
getStandardAttributes()
If needed caches all methods annotated by given annotation to avoid further scans
|
boolean |
isValidTagAttribute(String attrName)
Checks if provided name is a valid tag's attribute
|
protected void |
popComponentStack()
Pops the component stack.
|
void |
setActionMapper(ActionMapper mapper) |
void |
setDevMode(String devMode) |
void |
setThrowExceptionsOnELFailure(String throwException) |
void |
setUrlHelper(UrlHelper urlHelper) |
boolean |
start(Writer writer)
Callback for the start tag of this component.
|
protected String |
stripExpressionIfAltSyntax(String expr)
If altsyntax (%{...}) is applied, simply strip the "%{" and "}" off.
|
protected String |
toString(Throwable t)
Constructs a string representation of the given exception.
|
boolean |
usesBody()
Overwrite to set if body should be used.
|
public static final String COMPONENT_STACK
protected static ConcurrentMap<Class<?>,Collection<String>> standardAttributesMap
protected boolean devMode
protected ValueStack stack
protected Map parameters
protected ActionMapper actionMapper
protected boolean throwExceptionOnELFailure
public Component(ValueStack stack)
stack
- OGNL value stack.public void setDevMode(String devMode)
public void setActionMapper(ActionMapper mapper)
public void setThrowExceptionsOnELFailure(String throwException)
public void setUrlHelper(UrlHelper urlHelper)
public ValueStack getStack()
public Stack<Component> getComponentStack()
public boolean start(Writer writer)
writer
- the output writer.public boolean end(Writer writer, String body)
writer
- the output writer.body
- the rendered body.protected boolean end(Writer writer, String body, boolean popComponentStack)
writer
- the output writer.body
- the rendered body.popComponentStack
- should the component stack be popped?protected void popComponentStack()
protected Component findAncestor(Class clazz)
clazz
- the class to look for, or if assignable from.protected String findString(String expr)
expr
- OGNL expression.protected String findString(String expr, String field, String errorMsg)
RuntimeException
is thrown
constructed with a messaged based on the given field and errorMsg parameter.expr
- OGNL expression.field
- field name used when throwing RuntimeException
.errorMsg
- error message used when throwing RuntimeException
.StrutsException
- is thrown in case of expression is null.protected StrutsException fieldError(String field, String errorMsg, Exception e)
RuntimeException
based on the given information.
RuntimeException
.field
- field name used when throwing RuntimeException
.errorMsg
- error message used when throwing RuntimeException
.e
- the caused exception, can be null.StrutsException
.protected Object findValue(String expr)
expr
against stack except when expr
is null. If altsyntax (%{...}) is applied, simply strip it off.expr
- the expression. Returns null if expr is null.protected String stripExpressionIfAltSyntax(String expr)
expr
- the expression (must be not null)public boolean altSyntax()
struts.properties
where the altSyntax flag is defined.protected String completeExpressionIfAltSyntax(String expr)
expr
- the expression.protected String findStringIfAltSyntax(String expr)
expr
- the expression.protected Object findValue(String expr, String field, String errorMsg)
Evaluates the OGNL stack to find an Object value.
Function just like findValue(String)
except that if the
given expression is null a error is logged and
a RuntimeException
is thrown constructed with a
messaged based on the given field and errorMsg parameter.
expr
- OGNL expression.field
- field name used when throwing RuntimeException
.errorMsg
- error message used when throwing RuntimeException
.StrutsException
- is thrown in case of not found in the OGNL stack, or expression is null.protected Object findValue(String expr, Class toType)
expr
the portion wrapped with altSyntax (%{...})
against stack when altSyntax is on, else the whole expr
is evaluated against the stack.
expr
- OGNL expression.toType
- the type expected to find.protected String determineActionURL(String action, String namespace, String method, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res, Map parameters, String scheme, boolean includeContext, boolean encodeResult, boolean forceAddSchemeHostAndPort, boolean escapeAmp)
ActionMapper
.action
- the actionnamespace
- the namespacemethod
- the methodreq
- HTTP requestres
- HTTP responseparameters
- parametersscheme
- http or httpsincludeContext
- should the context path be included or notencodeResult
- should the url be encodedforceAddSchemeHostAndPort
- should the scheme host and port be forcedescapeAmp
- should ampersand (&) be escaped to &protected String determineNamespace(String namespace, ValueStack stack, javax.servlet.http.HttpServletRequest req)
namespace
- the namespacestack
- OGNL value stackreq
- HTTP requestpublic void copyParams(Map params)
params
- the parameters to copy.protected String toString(Throwable t)
t
- the exceptionpublic Map getParameters()
public void addAllParameters(Map params)
params
- the parameters to add.public void addParameter(String key, Object value)
key
- the key of the new parameter to add.value
- the value associated with the key.public boolean usesBody()
public boolean escapeHtmlBody()
public boolean isValidTagAttribute(String attrName)
attrName
- String name of attributeprotected Collection<String> getStandardAttributes()
Copyright © 2000–2020 Apache Software Foundation. All rights reserved.