📄 templatetag.java
字号:
/** * Licensed under the Artistic License; you may not use this file * except in compliance with the License. * You may obtain a copy of the License at * * http://displaytag.sourceforge.net/license.html * * THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. */package org.displaytag.tags;import javax.servlet.jsp.PageContext;import javax.servlet.jsp.tagext.BodyTagSupport;import org.displaytag.exception.ObjectLookupException;import org.displaytag.util.LookupUtil;/** * Base template class. * @author bgsmith * @author Fabrizio Giustina * @version $Revision: 1081 $ ($Author: fgiust $) */public abstract class TemplateTag extends BodyTagSupport{ /** * <p> * evaluate an expression in a way similar to LE in jstl. * </p> * <p> * the first token is supposed to be an object in the page scope (default scope) or one of the following: * </p> * <ul> * <li>pageScope</li> * <li>requestScope</li> * <li>sessionScope</li> * <li>applicationScope</li> * </ul> * <p> * Tokens after the object name are interpreted as javabean properties (accessed through getters), mapped or indexed * properties, using the jakarta common-beans library * </p> * @param expression expression to evaluate * @return Object result * @throws ObjectLookupException if unable to get a bean using the given expression */ protected Object evaluateExpression(String expression) throws ObjectLookupException { String expressionWithoutScope = expression; // default scope = request // this is for compatibility with the previous version, probably default should be PAGE int scope = PageContext.REQUEST_SCOPE; if (expression.startsWith("pageScope.")) //$NON-NLS-1$ { scope = PageContext.PAGE_SCOPE; expressionWithoutScope = expressionWithoutScope.substring(expressionWithoutScope.indexOf('.') + 1); } else if (expression.startsWith("requestScope.")) //$NON-NLS-1$ { scope = PageContext.REQUEST_SCOPE; expressionWithoutScope = expressionWithoutScope.substring(expressionWithoutScope.indexOf('.') + 1); } else if (expression.startsWith("sessionScope.")) //$NON-NLS-1$ { scope = PageContext.SESSION_SCOPE; expressionWithoutScope = expressionWithoutScope.substring(expressionWithoutScope.indexOf('.') + 1); } else if (expression.startsWith("applicationScope.")) //$NON-NLS-1$ { scope = PageContext.APPLICATION_SCOPE; expressionWithoutScope = expressionWithoutScope.substring(expressionWithoutScope.indexOf('.') + 1); } return LookupUtil.getBeanValue(this.pageContext, expressionWithoutScope, scope); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -