|
The Spring Framework | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.web.util.ExpressionEvaluationUtils
public abstract class ExpressionEvaluationUtils
Convenience methods for transparent access to JSP 2.0's built-in
ExpressionEvaluator
or the standalone
ExpressionEvaluatorManager
of Jakarta's JSTL implementation.
Automatically detects JSP 2.0 or Jakarta JSTL, preferring the JSP 2.0 mechanism if available. Also detects the JSP 2.0 API being present but the runtime JSP engine not actually supporting JSP 2.0, falling back to the Jakarta JSTL in this case. Throws an exception when encountering actual EL expressions if neither JSP 2.0 nor the Jakarta JSTL is available.
In the case of JSP 2.0, this class will by default use standard
evaluate
calls. If your application server happens to be
inefficient in that respect, consider setting Spring's "cacheJspExpressions"
context-param in web.xml
to "true", which will use
parseExpression
calls with cached Expression objects instead.
The evaluation methods check if the value contains "${" before invoking the EL evaluator, treating the value as "normal" expression (i.e. a literal String value) else.
Note: The evaluation methods do not have a runtime dependency on JSP 2.0 or on Jakarta's JSTL implementation, as long as they are not asked to process actual EL expressions. This allows for using EL-aware tags with Java-based JSP expressions instead, for example.
ExpressionEvaluator.evaluate(java.lang.String, java.lang.Class, javax.servlet.jsp.el.VariableResolver, javax.servlet.jsp.el.FunctionMapper)
,
ExpressionEvaluator.parseExpression(java.lang.String, java.lang.Class, javax.servlet.jsp.el.FunctionMapper)
,
ExpressionEvaluatorManager
Field Summary | |
---|---|
static String |
EXPRESSION_CACHE_CONTEXT_PARAM
JSP 2.0 expression cache parameter at the servlet context level (i.e. a context-param in web.xml ): "cacheJspExpressions". |
static String |
EXPRESSION_PREFIX
|
static String |
EXPRESSION_SUFFIX
|
Constructor Summary | |
---|---|
ExpressionEvaluationUtils()
|
Method Summary | |
---|---|
static Object |
evaluate(String attrName,
String attrValue,
Class resultClass,
PageContext pageContext)
Evaluate the given expression (be it EL or a literal String value) to an Object of a given type, |
static Object |
evaluate(String attrName,
String attrValue,
PageContext pageContext)
Evaluate the given expression (be it EL or a literal String value) to an Object. |
static boolean |
evaluateBoolean(String attrName,
String attrValue,
PageContext pageContext)
Evaluate the given expression (be it EL or a literal String value) to a boolean. |
static int |
evaluateInteger(String attrName,
String attrValue,
PageContext pageContext)
Evaluate the given expression (be it EL or a literal String value) to an integer. |
static String |
evaluateString(String attrName,
String attrValue,
PageContext pageContext)
Evaluate the given expression (be it EL or a literal String value) to a String. |
static boolean |
isExpressionLanguage(String value)
Check if the given expression value is an EL expression. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final String EXPRESSION_CACHE_CONTEXT_PARAM
web.xml
): "cacheJspExpressions".
public static final String EXPRESSION_PREFIX
public static final String EXPRESSION_SUFFIX
Constructor Detail |
---|
public ExpressionEvaluationUtils()
Method Detail |
---|
public static boolean isExpressionLanguage(String value)
value
- the expression to check
true
if the expression is an EL expression,
false
otherwisepublic static Object evaluate(String attrName, String attrValue, Class resultClass, PageContext pageContext) throws JspException
attrName
- name of the attribute (typically a JSP tag attribute)attrValue
- value of the attributeresultClass
- class that the result should have (String, Integer, Boolean)pageContext
- current JSP PageContext
JspException
- in case of parsing errors, also in case of type mismatch
if the passed-in literal value is not an EL expression and not assignable to
the result classpublic static Object evaluate(String attrName, String attrValue, PageContext pageContext) throws JspException
attrName
- name of the attribute (typically a JSP tag attribute)attrValue
- value of the attributepageContext
- current JSP PageContext
JspException
- in case of parsing errorspublic static String evaluateString(String attrName, String attrValue, PageContext pageContext) throws JspException
attrName
- name of the attribute (typically a JSP tag attribute)attrValue
- value of the attributepageContext
- current JSP PageContext
JspException
- in case of parsing errorspublic static int evaluateInteger(String attrName, String attrValue, PageContext pageContext) throws JspException
attrName
- name of the attribute (typically a JSP tag attribute)attrValue
- value of the attributepageContext
- current JSP PageContext
JspException
- in case of parsing errorspublic static boolean evaluateBoolean(String attrName, String attrValue, PageContext pageContext) throws JspException
attrName
- name of the attribute (typically a JSP tag attribute)attrValue
- value of the attributepageContext
- current JSP PageContext
JspException
- in case of parsing errors
|
The Spring Framework | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |