如何在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啦!可以用啦!
分享到:
相关推荐
5. **属性和表达式语言(Expression Language, EL)**:自定义标签可以接收属性参数,这些参数可以是静态值,也可以是EL表达式,EL提供了一种简洁的方式来访问JavaBean或其他数据源。 6. **国际化(i18n)与资源包...
3. 与EL(Expression Language)结合:自定义标签可以与EL表达式一起使用,方便数据的获取和传递。 六、Webwork框架中的自定义标签 提到的两个压缩文件名,"webworkDemo.rar"和"webwork-ppt.rar"可能与Webwork框架...
在这个场景中,"使用JSP自定义标签实现EMP分页"是一个具体的应用实例,旨在提升代码的可读性和可维护性,对比传统的Servlet方法,自定义标签能让分页处理更加简洁。 首先,我们要了解JSP自定义标签的基本结构和工作...
6. **连续访问对象属性**:通过EL的点运算符“.”,开发者可以连续访问嵌套的对象属性,类似于Java中的对象属性访问方式。 #### 三、EL的基本语法 EL的基本语法结构是`${expression}`,其中`expression`是EL表达式...
在Java服务器页面(JSP)开发中,自定义标签(Custom Tags)是一种强大的特性,它允许开发者创建可重用的代码段,以提高代码的可维护性和可读性。自定义标签可以看作是HTML标签的扩展,它们封装了特定的功能,使页面...
EL表达式通常在${}内编写,可以用来获取、设置值,或者进行基本的算术和逻辑操作。EL与JSP的脚本元素相比,更易读,更易于维护,减少了页面中的Java代码量。 【Session】 Session是Web应用程序中的一种会话管理机制...
- EL的基本语法是`${EL Expression}`,它可以在静态文本、标准标签和自定义标签中使用。 - EL表达式通常用于显示Java对象的属性值或执行简单的逻辑运算。 4. **EL的使用场景** - 在静态文本中,如`${商品价格}`...
在本例中,虽然`add`方法本身没有直接与EL表达式结合使用,但可以想象,在一个更复杂的自定义标签实现中,EL表达式可能会用来获取参数值,然后调用此类方法进行计算。 3. **动态网站构建**:对于动态网站或Web应用...
- **通过JSP表达式语言(EL)**:使用EL表达式,如 `${javaVariable}`,可以直接在JavaScript代码中引用JavaBean或作用域内的变量。 2. **JavaScript到Java的传值**: - **表单提交**:通过JavaScript修改表单字段的...
Java Web技术是构建互联网应用程序的重要框架,主要由Servlet、JSP(Java Server Pages)和自定义标签库等组件构成。本书“Java Web 入门书”旨在为初学者提供一个全面的学习路径,深入理解这些核心技术。 Servlet...
以上知识点涵盖了Java Web开发的基础,包括Filter、自定义标签、会话管理、重定向、EL表达式、Servlet生命周期以及请求处理等核心概念,这些都是Java程序员面试时经常遇到的题目。理解并掌握这些知识点对于成为一名...
EL(Expression Language)是JavaServer Pages 2.0引入的一种表达式语言,用于简化JSP中的数据绑定和表达式处理。EL使得开发者能够更加直观地访问和操作JavaBean属性,减少JSP页面上的脚本let和scriptlet代码,提升...
表达式语言EL(Expression Language)简化了在JSP中访问JavaBean属性的方式,而JSTL(JavaServer Pages Standard Tag Library)提供了一系列预定义的标签,使页面更加简洁易读。emis15(JSP+JavaBean+Servlet+EL+JSTL...
整个Java Web开发教程涵盖了从基础到进阶的多个主题,包括JavaScript、DOM操作、表单验证、自定义Web服务器、Servlet、JSP语法、内置对象、JSTL、EL、Java Bean、过滤器、监听器、自定义标签、AJAX、自定义MVC框架、...
在本文档中,我们深入了解了Java Web开发中的一些核心组件,包括servlet、JSP、EL表达式、JSTL以及JMS技术。接下来将从每个部分详细介绍这些技术的核心知识点。 ### Servlet技术 Servlet是Java Servlet的简称,它...
1. **表达式语言(EL)**:EL简化了在JSP页面中访问JavaBean属性的方式,通过${}表达式可以直接获取和设置Bean的属性,无需使用旧式的jsp:expression或jsp:useBean标签。 2. **统一标签库(JSTL)**:JSTL提供了一...
这份教程涵盖了Java面向对象编程在Web环境中的应用,是提升编程技能的重要参考资料。 首先,Java Web是基于Java技术构建网络应用程序的框架。它包括Servlet、JSP(JavaServer Pages)、JSTL(JavaServer Pages ...
5. **EL(Expression Language)**:EL是JSP 2.0引入的表达式语言,用于在JSP页面中访问JavaBean或其他Java对象的属性。它简化了数据绑定,使得页面更加简洁。 6. **JSTL(JavaServer Pages Standard Tag Library)...
10. **JSP表达式语言(EL)**:EL是一种简洁的表达式语法,用于访问JSP页面中的JavaBean属性和其他作用域内的对象。 11. **自定义标签**:自定义标签允许开发者创建可重用的、具有特定功能的HTML标签,提高代码的...