org.apache.jasper.runtime

Class JspRuntimeLibrary

public class JspRuntimeLibrary extends Object

Bunch of util methods that are used by code generated for useBean, getProperty and setProperty. The __begin, __end stuff is there so that the JSP engine can actually parse this file and inline them if people don't want runtime dependencies on this class. However, I'm not sure if that works so well right now. It got forgotten at some point. -akv

Author: Mandar Raje Shawn Bayern

Nested Class Summary
protected static classJspRuntimeLibrary.PrivilegedIntrospectHelper
Method Summary
static Objectcoerce(String s, Class target)
static booleancoerceToBoolean(String s)
static bytecoerceToByte(String s)
static charcoerceToChar(String s)
static doublecoerceToDouble(String s)
static floatcoerceToFloat(String s)
static intcoerceToInt(String s)
static longcoerceToLong(String s)
static shortcoerceToShort(String s)
static Objectconvert(String propertyName, String s, Class t, Class propertyEditorClass)
static voidcreateTypedArray(String propertyName, Object bean, Method method, String[] values, Class t, Class propertyEditorClass)
Create a typed array.
static Stringdecode(String encoded)
Decode an URL formatted string.
static StringescapeQueryString(String unescString)
Escape special shell characters.
static StringgetContextRelativePath(ServletRequest request, String relativePath)
Convert a possibly relative resource path into a context-relative resource path that starts with a '/'.
static MethodgetReadMethod(Class beanClass, String prop)
static ThrowablegetThrowable(ServletRequest request)
Returns the value of the javax.servlet.error.exception request attribute value, if present, otherwise the value of the javax.servlet.jsp.jspException request attribute value.
static ObjectgetValueFromBeanInfoPropertyEditor(Class attrClass, String attrName, String attrValue, Class propertyEditorClass)
static ObjectgetValueFromPropertyEditorManager(Class attrClass, String attrName, String attrValue)
static MethodgetWriteMethod(Class beanClass, String prop)
static ObjecthandleGetProperty(Object o, String prop)
static voidhandleSetProperty(Object bean, String prop, Object value)
static voidhandleSetProperty(Object bean, String prop, int value)
static voidhandleSetProperty(Object bean, String prop, short value)
static voidhandleSetProperty(Object bean, String prop, long value)
static voidhandleSetProperty(Object bean, String prop, double value)
static voidhandleSetProperty(Object bean, String prop, float value)
static voidhandleSetProperty(Object bean, String prop, char value)
static voidhandleSetProperty(Object bean, String prop, byte value)
static voidhandleSetProperty(Object bean, String prop, boolean value)
static voidhandleSetPropertyExpression(Object bean, String prop, String expression, PageContext pageContext, ProtectedFunctionMapper functionMapper)
Use proprietaryEvaluate public static void handleSetPropertyExpression(Object bean, String prop, String expression, PageContext pageContext, VariableResolver variableResolver, FunctionMapper functionMapper ) throws JasperException { try { Method method = getWriteMethod(bean.getClass(), prop); method.invoke(bean, new Object[] { pageContext.getExpressionEvaluator().evaluate( expression, method.getParameterTypes()[0], variableResolver, functionMapper, null ) }); } catch (Exception ex) { throw new JasperException(ex); } }
static voidinclude(ServletRequest request, ServletResponse response, String relativePath, JspWriter out, boolean flush)
Perform a RequestDispatcher.include() operation, with optional flushing of the response beforehand.
static voidintrospect(Object bean, ServletRequest request)
static voidintrospecthelper(Object bean, String prop, String value, ServletRequest request, String param, boolean ignoreMethodNF)
static StringtoString(Object o)
static StringtoString(byte b)
static StringtoString(boolean b)
static StringtoString(short s)
static StringtoString(int i)
static StringtoString(float f)
static StringtoString(long l)
static StringtoString(double d)
static StringtoString(char c)
static StringURLEncode(String s, String enc)
URL encodes a string, based on the supplied character encoding.

Method Detail

coerce

public static Object coerce(String s, Class target)

coerceToBoolean

public static boolean coerceToBoolean(String s)

coerceToByte

public static byte coerceToByte(String s)

coerceToChar

public static char coerceToChar(String s)

coerceToDouble

public static double coerceToDouble(String s)

coerceToFloat

public static float coerceToFloat(String s)

coerceToInt

public static int coerceToInt(String s)

coerceToLong

public static long coerceToLong(String s)

coerceToShort

public static short coerceToShort(String s)

convert

public static Object convert(String propertyName, String s, Class t, Class propertyEditorClass)

createTypedArray

public static void createTypedArray(String propertyName, Object bean, Method method, String[] values, Class t, Class propertyEditorClass)
Create a typed array. This is a special case where params are passed through the request and the property is indexed.

decode

public static String decode(String encoded)
Decode an URL formatted string.

Parameters: encoded The string to decode.

Returns: The decoded string.

escapeQueryString

public static String escapeQueryString(String unescString)
Escape special shell characters.

Parameters: unescString The string to shell-escape

Returns: The escaped shell string.

getContextRelativePath

public static String getContextRelativePath(ServletRequest request, String relativePath)
Convert a possibly relative resource path into a context-relative resource path that starts with a '/'.

Parameters: request The servlet request we are processing relativePath The possibly relative resource path

getReadMethod

public static Method getReadMethod(Class beanClass, String prop)

getThrowable

public static Throwable getThrowable(ServletRequest request)
Returns the value of the javax.servlet.error.exception request attribute value, if present, otherwise the value of the javax.servlet.jsp.jspException request attribute value. This method is called at the beginning of the generated servlet code for a JSP error page, when the "exception" implicit scripting language variable is initialized.

getValueFromBeanInfoPropertyEditor

public static Object getValueFromBeanInfoPropertyEditor(Class attrClass, String attrName, String attrValue, Class propertyEditorClass)

getValueFromPropertyEditorManager

public static Object getValueFromPropertyEditorManager(Class attrClass, String attrName, String attrValue)

getWriteMethod

public static Method getWriteMethod(Class beanClass, String prop)

handleGetProperty

public static Object handleGetProperty(Object o, String prop)

handleSetProperty

public static void handleSetProperty(Object bean, String prop, Object value)

handleSetProperty

public static void handleSetProperty(Object bean, String prop, int value)

handleSetProperty

public static void handleSetProperty(Object bean, String prop, short value)

handleSetProperty

public static void handleSetProperty(Object bean, String prop, long value)

handleSetProperty

public static void handleSetProperty(Object bean, String prop, double value)

handleSetProperty

public static void handleSetProperty(Object bean, String prop, float value)

handleSetProperty

public static void handleSetProperty(Object bean, String prop, char value)

handleSetProperty

public static void handleSetProperty(Object bean, String prop, byte value)

handleSetProperty

public static void handleSetProperty(Object bean, String prop, boolean value)

handleSetPropertyExpression

public static void handleSetPropertyExpression(Object bean, String prop, String expression, PageContext pageContext, ProtectedFunctionMapper functionMapper)
Use proprietaryEvaluate public static void handleSetPropertyExpression(Object bean, String prop, String expression, PageContext pageContext, VariableResolver variableResolver, FunctionMapper functionMapper ) throws JasperException { try { Method method = getWriteMethod(bean.getClass(), prop); method.invoke(bean, new Object[] { pageContext.getExpressionEvaluator().evaluate( expression, method.getParameterTypes()[0], variableResolver, functionMapper, null ) }); } catch (Exception ex) { throw new JasperException(ex); } }

include

public static void include(ServletRequest request, ServletResponse response, String relativePath, JspWriter out, boolean flush)
Perform a RequestDispatcher.include() operation, with optional flushing of the response beforehand.

Parameters: request The servlet request we are processing response The servlet response we are processing relativePath The relative path of the resource to be included out The Writer to whom we are currently writing flush Should we flush before the include is processed?

Throws: IOException if thrown by the included servlet ServletException if thrown by the included servlet

introspect

public static void introspect(Object bean, ServletRequest request)

introspecthelper

public static void introspecthelper(Object bean, String prop, String value, ServletRequest request, String param, boolean ignoreMethodNF)

toString

public static String toString(Object o)

toString

public static String toString(byte b)

toString

public static String toString(boolean b)

toString

public static String toString(short s)

toString

public static String toString(int i)

toString

public static String toString(float f)

toString

public static String toString(long l)

toString

public static String toString(double d)

toString

public static String toString(char c)

URLEncode

public static String URLEncode(String s, String enc)
URL encodes a string, based on the supplied character encoding. This performs the same function as java.next.URLEncode.encode in J2SDK1.4, and should be removed if the only platform supported is 1.4 or higher.

Parameters: s The String to be URL encoded. enc The character encoding

Returns: The URL encoded String

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