`
crabdave
  • 浏览: 1295792 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

如何在Java自定义标签中让自定义的标签属性正确接收EL表达式对象

    博客分类:
  • Java
阅读更多

如何在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啦!可以用啦!

 

分享到:
评论
1 楼 icefire 2008-11-18  

貌似
this.value = ExpressionEvaluatorManager.evaluate(
            "value", value.toString(), Object.class, this, pageContext);
没有意思,标准支持EL表达式的容器都会帮你运算的。
直接 this.value = value 就好了

相关推荐

    java自定义标签.......java自定义标签

    5. **属性和表达式语言(Expression Language, EL)**:自定义标签可以接收属性参数,这些参数可以是静态值,也可以是EL表达式,EL提供了一种简洁的方式来访问JavaBean或其他数据源。 6. **国际化(i18n)与资源包...

    掌握自定义jsp标签s

    3. 与EL(Expression Language)结合:自定义标签可以与EL表达式一起使用,方便数据的获取和传递。 六、Webwork框架中的自定义标签 提到的两个压缩文件名,"webworkDemo.rar"和"webwork-ppt.rar"可能与Webwork框架...

    使用JSP自定义标签实现EMP分页

    在这个场景中,"使用JSP自定义标签实现EMP分页"是一个具体的应用实例,旨在提升代码的可读性和可维护性,对比传统的Servlet方法,自定义标签能让分页处理更加简洁。 首先,我们要了解JSP自定义标签的基本结构和工作...

    表达式语言(EL)

    6. **连续访问对象属性**:通过EL的点运算符“.”,开发者可以连续访问嵌套的对象属性,类似于Java中的对象属性访问方式。 #### 三、EL的基本语法 EL的基本语法结构是`${expression}`,其中`expression`是EL表达式...

    Jsp自定义标签

    在Java服务器页面(JSP)开发中,自定义标签(Custom Tags)是一种强大的特性,它允许开发者创建可重用的代码段,以提高代码的可维护性和可读性。自定义标签可以看作是HTML标签的扩展,它们封装了特定的功能,使页面...

    jsp,struts,EL,session等注意总结集合

    EL表达式通常在${}内编写,可以用来获取、设置值,或者进行基本的算术和逻辑操作。EL与JSP的脚本元素相比,更易读,更易于维护,减少了页面中的Java代码量。 【Session】 Session是Web应用程序中的一种会话管理机制...

    JSP 表达式语言.ppt

    - EL的基本语法是`${EL Expression}`,它可以在静态文本、标准标签和自定义标签中使用。 - EL表达式通常用于显示Java对象的属性值或执行简单的逻辑运算。 4. **EL的使用场景** - 在静态文本中,如`${商品价格}`...

    ELFunction_java(cusTag).txt

    在本例中,虽然`add`方法本身没有直接与EL表达式结合使用,但可以想象,在一个更复杂的自定义标签实现中,EL表达式可能会用来获取参数值,然后调用此类方法进行计算。 3. **动态网站构建**:对于动态网站或Web应用...

    JSP中java代码与js之间的传值

    - **通过JSP表达式语言(EL)**:使用EL表达式,如 `${javaVariable}`,可以直接在JavaScript代码中引用JavaBean或作用域内的变量。 2. **JavaScript到Java的传值**: - **表单提交**:通过JavaScript修改表单字段的...

    Java Web 入门书

    Java Web技术是构建互联网应用程序的重要框架,主要由Servlet、JSP(Java Server Pages)和自定义标签库等组件构成。本书“Java Web 入门书”旨在为初学者提供一个全面的学习路径,深入理解这些核心技术。 Servlet...

    java面试题

    以上知识点涵盖了Java Web开发的基础,包括Filter、自定义标签、会话管理、重定向、EL表达式、Servlet生命周期以及请求处理等核心概念,这些都是Java程序员面试时经常遇到的题目。理解并掌握这些知识点对于成为一名...

    BBS留言版,自定义MVC

    EL(Expression Language)是JavaServer Pages 2.0引入的一种表达式语言,用于简化JSP中的数据绑定和表达式处理。EL使得开发者能够更加直观地访问和操作JavaBean属性,减少JSP页面上的脚本let和scriptlet代码,提升...

    Java高手真经(网络开发卷)源码

    表达式语言EL(Expression Language)简化了在JSP中访问JavaBean属性的方式,而JSTL(JavaServer Pages Standard Tag Library)提供了一系列预定义的标签,使页面更加简洁易读。emis15(JSP+JavaBean+Servlet+EL+JSTL...

    完整版Java web开发教程PPT课件 Java开发进阶教程 第07章 JSP语法及运行过程(共13页).pptx

    整个Java Web开发教程涵盖了从基础到进阶的多个主题,包括JavaScript、DOM操作、表单验证、自定义Web服务器、Servlet、JSP语法、内置对象、JSTL、EL、Java Bean、过滤器、监听器、自定义标签、AJAX、自定义MVC框架、...

    servlet,jsp,el,jstl,jms笔记pdf

    在本文档中,我们深入了解了Java Web开发中的一些核心组件,包括servlet、JSP、EL表达式、JSTL以及JMS技术。接下来将从每个部分详细介绍这些技术的核心知识点。 ### Servlet技术 Servlet是Java Servlet的简称,它...

    第04章 JSP2.0在Java EE中的典型应用

    1. **表达式语言(EL)**:EL简化了在JSP页面中访问JavaBean属性的方式,通过${}表达式可以直接获取和设置Bean的属性,无需使用旧式的jsp:expression或jsp:useBean标签。 2. **统一标签库(JSTL)**:JSTL提供了一...

    java web教程和资料电子书

    这份教程涵盖了Java面向对象编程在Web环境中的应用,是提升编程技能的重要参考资料。 首先,Java Web是基于Java技术构建网络应用程序的框架。它包括Servlet、JSP(JavaServer Pages)、JSTL(JavaServer Pages ...

    java高手真经2光盘资料(源码)

    5. **EL(Expression Language)**:EL是JSP 2.0引入的表达式语言,用于在JSP页面中访问JavaBean或其他Java对象的属性。它简化了数据绑定,使得页面更加简洁。 6. **JSTL(JavaServer Pages Standard Tag Library)...

    完整版Java JSP web开发教程 01_web概述(共18页).ppt

    10. **JSP表达式语言(EL)**:EL是一种简洁的表达式语法,用于访问JSP页面中的JavaBean属性和其他作用域内的对象。 11. **自定义标签**:自定义标签允许开发者创建可重用的、具有特定功能的HTML标签,提高代码的...

Global site tag (gtag.js) - Google Analytics