如何在Java自定义标签中让自定义的标签属性正确接收EL表达式对象
我们在项目开发中为了更方便灵活的使用Java自定义标签,往往需要让自定义的标签属性接收一些EL表达式对象,所幸的是apache为我们提供了简单的实现方式。
需要的jar包:
jstl.jar
standard.jar
其实这两个包就是我们在使用jstl时所需的两个包。
要接收EL表达式对象,首先得在标签的实现类文件中将这个属性的对象类型设置为Object类型,在set、get方法中,set方法需要引入apache的类:
import org.apache.taglibs.standard.lang.support.ExpressionEvaluatorManager;
这个类中有一个evaluate 方法,当el表达式作为参数传入时,调用这个方法,在tag内即可自动把el表达式转化成所需要的对象。
你只需在set方法里如下调用:
public void setValue(Object value)throws JspException
{
this.value = ExpressionEvaluatorManager.evaluate(
"value", value.toString(), Object.class, this, pageContext);
}
ExpressionEvaluatorManager.evaluate有四个参数。
第一个表示tag的名字,在取el表达式出错时使用。一般和属性名字相同。
第二个要求字符串,通常简单调用输入对象的toString方法。
第三个是类,通常用Object.class。
第四个用this即可,
第五个是pageContext变量。
在tld文件中该标签属性的rtexprvalue得设置为true,表示是否支持运行时表达式取值。
OK啦!可以用啦
分享到:
相关推荐
本资源代码中包含jstl的标签库定义以及自定义EL标签使用的详细说明,参见压缩文件中说明即可,欢迎各位技术员下载参考及使用
这次整理自定义标签主要是项目的需要,要将一些写死的url信息配置于配置文件中,这样发版的时候改动起来相当方便
java中JSP和el表达式的隐含对象,能够让你对对jsp的更熟悉
el 表达式el 表达式el 表达式el 表达式el 表达式
关于学习el表达式的使用问题,详细简单,易于学习和理解。
例如,EL 表达式可以使用 ${pageScope.objectName} 访问一个 JSP 中页面范围的对象,还可以使用 ${pageScope.objectName.attributeName} 访问对象的属性。 requestScope 将请求范围的变量名称映射到其值。该对象...
Fel轻量级的高效的表达式计算引擎。 Fel在源自于企业项目,设计目标是为了不断变化的功能需求和性能需求.文档中有个别错误,但不影响阅读
EL表达式的概念,详细介绍了EL表达式相关使用方法以及注意要点
通过简单的使用EL表达式标签,然你来熟悉EL表达式
jsp学习总结jsp基础自定义标签eL表达式
El表达式的用法机器语法的介绍!EL表达式被解析成数值表达式和方法表达式。其中,取值表达式去引用一个值,而方法表达式则是关联一个方法。一旦被解析之后,表达式能够被优化地计算一次或多次。
这是一个El表达式;一些常用的写法实例代码;
jspEL表达式 jspEL表达式 jspEL表达式 jspEL表达式
EL表达式中Function标签库汇总
el表达式,EL表达式言语和JSTL 很不错的资料啊
el表达式介绍 el表达式使用帮助文档 el表达式介绍 el表达式使用帮助文档
本资源主要介绍EL表达式语言,包含EL语法、EL隐含对象、EL函数等
快速掌握自定义EL表达式,解决页面难题(内附代码)
EL自定义函数实现步骤: 1.开发函数处理类,即普通的Java类;每个函数对应类中的一个静态方法。 2. 建立TLD(Tag Library Descriptor),定义表达式函数。...4.在JSP页面中使用自定义函数,实现EL自定义函数引用。
表示式中第一个命名变量要么式一个隐式对象,要么是某个作用域(页面作用域、请求作用域、会话作用域或应用作用域)中的一个属性...................................................................................