`
xiushan
  • 浏览: 31346 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

自定义标签中让标签属性正确接收EL表达式对象

阅读更多

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

分享到:
评论

相关推荐

    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自定义标签还有其他优势,比如支持EL(Expression Language)表达式,可以更方便地获取和设置页面作用域内的变量;支持国际化和主题,可以更好地适应多语言和多风格的需求。 在实际开发中,除了自定义标签...

    表达式语言(EL)

    EL的基本语法结构是`${expression}`,其中`expression`是EL表达式,可以包含字面值、运算符、变量和函数调用等元素。 - **字面值**:如字符串、布尔值、数字等。 - **变量**:即对象引用。 - **函数调用**:可以...

    JSP自定义标签rtexprvalue属性用法实例分析

    在自定义标签的`<attribute>`元素内,`rtexprvalue`用来指示该属性是否能够接收运行时计算的值,即是否支持EL表达式。如果设置为`true`,则该属性允许使用JSP表达式动态计算出值;如果设置为`false`,则该属性的值...

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

    JSP的核心概念包括:脚本元素(Scriptlets)、表达式(Expressions)、指令(Directives)和自定义标签(Custom Tags)。脚本元素用于编写Java代码,表达式用于输出Java变量的值,指令则用于配置页面或引入额外资源...

    Jsp自定义标签

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

    JSP 表达式语言.ppt

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

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

    JavaServer Pages Standard Tag Library(JSTL)是一组自定义标签库,用于减少JSP页面中的Java代码量。JSTL标签封装了常见的功能,如条件语句、循环等。 - **JSTL标签库**:JSTL标签库包含核心标签库和格式化标签库...

    ELFunction_java(cusTag).txt

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

    vue.js 获取当前自定义属性值

    而在Vue.js中,我们同样可以通过`$el`属性访问到对应的DOM元素,然后通过`dataset`属性来获取我们想要的自定义属性值。 例如,如果我们有一个`<h5>`标签,并且想要获取其`data-id`属性值,可以在Vue组件的模板中...

    jsp day3 经典技术课件总结大全

    根据给定的文件信息,我们可以总结出以下关于JSP与MVC架构的相关知识点: ...而JSP页面中的指令标签和EL表达式语言则大大简化了数据处理和页面渲染的过程。此外,自定义标签的使用进一步增强了JSP的功能性和灵活性。

    JSTL jar包

    JSTL标签可以接收EL表达式作为参数,这样就可以动态地从页面上下文中获取数据。例如,`<c:forEach>`标签可以遍历集合,而`<c:out>`标签可以安全地输出EL表达式的结果,防止XSS攻击。 **5. 示例** 以下是一个简单的...

    java面试题

    5. **EL表达式**:Expression Language (EL)是用于简化JSP中访问JavaBeans属性的语法。`${10 mod 3}`将执行算术操作并返回结果,这里是1。 6. **自定义标签**:自定义标签主要用于减少JSP中的Java代码,将业务逻辑...

    ajax教程下载

    EL使用`{}`括号来包裹表达式,可以访问对象的属性、调用方法,甚至执行简单的算术运算。例如: ```html ${user.userName}"/> ``` 这里,`${user.userName}`访问了存储在某个作用域中的`user`对象的`userName`属性...

    BBS留言版,自定义MVC

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

    JSP简单标签

    在Java服务器页面(JSP)技术中,简单标签(Simple Tags)是自定义标签的一种形式,它们为开发者提供了更简洁、可读性更强的代码,相比传统的JSP脚本元素和自定义标签库(Tag Library Directive,TLD),简单标签在...

    JAVAWEB面试题

    标题“JAVAWEB面试题”和描述“精心准备的javaweb的面试题,包含http,JavaScript,json,jsp,servlet,el表达式,自定义标签库,经典案例等”指出,本文涉及的IT知识点主要围绕Java Web开发领域,涵盖HTTP协议、...

    jsp入门与提高(实用案例)

    1. **EL表达式**:简化了从JSP页面访问JavaBean属性的操作,如`${bean.property}`。 2. **EL函数库**:结合JSTL,可以使用如`${fn:toUpperCase(string)}`进行字符串转换。 **五、JSP自定义标签** 1. **开发自定义...

Global site tag (gtag.js) - Google Analytics