如何在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啦!可以用啦!
分享到:
相关推荐
el 表达式el 表达式el 表达式el 表达式el 表达式
本资源代码中包含jstl的标签库定义以及自定义EL标签使用的详细说明,参见压缩文件中说明即可,欢迎各位技术员下载参考及使用
关于学习el表达式的使用问题,详细简单,易于学习和理解。
这次整理自定义标签主要是项目的需要,要将一些写死的url信息配置于配置文件中,这样发版的时候改动起来相当方便
属性范围在EL中的名称 Page PageScope Request RequestScope Session SessionScope Application ApplicationScope 二、JSP EL 中的有效表达式 有效表达式可以包含文字、操作符、变量(对象引用)和函数调用。...
java中JSP和el表达式的隐含对象,能够让你对对jsp的更熟悉
El表达式的用法机器语法的介绍!EL表达式被解析成数值表达式和方法表达式。其中,取值表达式去引用一个值,而方法表达式则是关联一个方法。一旦被解析之后,表达式能够被优化地计算一次或多次。
通过简单的使用EL表达式标签,然你来熟悉EL表达式
这是一个El表达式;一些常用的写法实例代码;
el表达式介绍 el表达式使用帮助文档 el表达式介绍 el表达式使用帮助文档
表示式中第一个命名变量要么式一个隐式对象,要么是某个作用域(页面作用域、请求作用域、会话作用域或应用作用域)中的一个属性...................................................................................
el表达式,EL表达式言语和JSTL 很不错的资料啊
jspEL表达式 jspEL表达式 jspEL表达式 jspEL表达式
让你掌握el表达式的所有语法,你可能用到的,或者不常见的应有尽有,可以说是对El表达式的诠释,让你摆脱EL表达式的困扰
本资源主要介绍EL表达式语言,包含EL语法、EL隐含对象、EL函数等
EL表达式使用文档,方便快速使用EL表达式
EL表达式中Function标签库汇总
关于jsp中EL(Expression Language)表达式的相关简介
EL表达式的说明以及它在页面上的应用练习
jsp学习总结jsp基础自定义标签eL表达式