`
zengguo1988
  • 浏览: 280055 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

使自定标签支持EL表达式(${})

    博客分类:
  • J2EE
阅读更多

要做下面两件事就可以达到目的了:

1  在tld文件如下配置:

Java代码 复制代码
  1.  <tag>   
  2.       <icon>       
  3.       </icon>   
  4.       <name>rim</name>   
  5.       <tag-class>com.xui.overall.RimTag</tag-class>   
  6.       <body-content>JSP</body-content>   
  7.           <attribute>   
  8.          <name>title</name>   
  9.          <required>false</required>   
  10.            <rtexprvalue>true</rtexprvalue>   
  11.       </attribute>   
  12.    </tag>  
 <tag>
      <icon>    
      </icon>
      <name>rim</name>
      <tag-class>com.xui.overall.RimTag</tag-class>
      <body-content>JSP</body-content>
          <attribute>
         <name>title</name>
         <required>false</required>
           <rtexprvalue>true</rtexprvalue>
      </attribute>
   </tag>

 其中关键的是 <rtexprvalue>true</rtexprvalue> ,使title属性可以接受EL表达式.

2  对接收到的EL表达式处理

 title属性的 set get 方法 如下写

Java代码 复制代码
  1. private Object    title    = "";   
  2. public void setTitle(final Object title) throws JspException   
  3.     {   
  4.         // 对EL表达式的支持   
  5.         this.title = ExpressionEvaluatorManager.evaluate("title", title.toString(), Object.classthis, pageContext);   
  6.     }   
  7.   
  8.     public Object getTitle()   
  9.     {   
  10.         return title;   
  11.     }  
private Object    title    = "";
public void setTitle(final Object title) throws JspException
	{
		// 对EL表达式的支持
		this.title = ExpressionEvaluatorManager.evaluate("title", title.toString(), Object.class, this, pageContext);
	}

	public Object getTitle()
	{
		return title;
	}

 这里处理${}的是org.apache.taglibs.standard.lang.support下,有个叫 ExpressionEvaluatorManager类,

 ExpressionEvaluatorManager.evaluate有五个参数。第一个title属性的名字,本例用"title"就行。第二个要求字符串,通常简单调用输入对象的toString方法。第三个是类,通常用Object.class。第四个用this即可,第五个是pageContext变量。

注意:当你的tag属性支持el表达式时,你必须把它声明为Object对象:本例中是 private Object    title    = "标题";

这样工作就做完了,自定义标签就可以处理 ${}了.

分享到:
评论

相关推荐

    el表达式EL表达式言语和JSTL

    例如,`&lt;c:if&gt;`和`&lt;c:forEach&gt;`标签可以配合EL表达式进行条件判断和循环操作。通过这种方式,开发者可以将业务逻辑和视图层分离,提高代码的可读性和维护性。 **应用场景** 1. **数据绑定**:EL表达式常用于数据...

    JSTL以及EL表达式所需jar包

    虽然EL是Java EE的一部分,但在某些情况下,如Tomcat这样的轻量级应用服务器,可能需要这个JAR来支持EL表达式。 在部署Web应用到服务器之前,确保将这两个JAR文件添加到WEB-INF/lib目录下。这样,服务器就可以识别...

    jsp el表达式详解

    **JSP EL表达式详解** JavaServer Pages (JSP) Expression Language(EL)是JSP 2.0及更高版本中引入的一种轻量级、简洁的脚本语言,用于简化在JSP页面中访问JavaBean属性和其他Java对象的流程。EL表达式主要用于...

    maven项目中的EL表达式问题

    由于Web 2.5及更高版本的规范默认支持EL表达式的解析,可以通过修改web.xml文件的`&lt;web-app&gt;`标签中的`version`属性值来实现。 ```xml xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation=...

    JavaWeb-11 JSP&EL表达式

    此外,配合JSTL(JavaServer Pages Standard Tag Library)库,EL表达式可以使JSP页面更加整洁,提高可读性和维护性。JSTL提供了一系列预定义的标签,如`c:forEach`用于遍历集合,`fmt:formatDate`用于格式化日期等...

    EL表达式详解-----简单明了

    EL表达式支持多种运算符,包括算术运算符、关系运算符和逻辑运算符。运算符的使用与传统编程语言类似,但EL提供了更简便的语法结构,如属性访问、数组索引以及方法调用等。 例如,`bean.propertyName`可以访问...

    EL表达式和JSTL标签大全

    ### EL表达式和JSTL标签详解 #### 一、EL表达式 ##### 1. EL简介 **1.1 语法结构** EL (Expression Language) 表达式的语法非常简单,采用 `${expression}` 的形式来表示。这种语法可以在任何 HTML 和 JSP 标签...

    EL表达式大全

    ### EL表达式大全 #### 一、EL表达式概述 EL(Expression Language)是一种简洁的表达方式,用于访问JavaBean属性。它简化了原本复杂的Java代码,并且可以在JSP页面中方便地使用。 ##### 1. 语法结构 EL表达式的...

    JSTL - EL表达式详解

    JSTL 1.1规范中的EL可以独立于JSTL标签库使用,JSP2.0容器能够直接解析和执行EL表达式。这使得EL在JSP页面的任何地方都可直接应用,增强了代码的可读性和可维护性。 总的来说,JSTL和EL为JSP开发带来了标准化和效率...

    EL 表达式 EL-Java

    EL表达式可以在JSP的标签、脚本元素或文本中使用,它使得JSP页面更加简洁,降低了维护成本。例如,显示一个用户的姓名,可以这样写: ```jsp Hello, ${user.name}! ``` 这里,`${user.name}`就是一个EL表达式,它会...

    JSTL详解--EL表达式

    而在**JSTL 1.1**及其后续版本中,EL表达式可以直接在JSP页面中使用,因为JSP 2.0容器已经能独立解析和执行EL表达式,不再局限于JSTL标签内。 JSTL包含多个库,每个库都有特定的功能: 1. **核心标签库(Core ...

    EL表达式和JSTL标签的应用实例

    EL表达式支持多种运算符,如算术运算符、比较运算符和逻辑运算符,还可以处理集合、数组和Map等数据结构。例如,`${user.name}`可以用来获取名为`user`的对象的`name`属性值。 JSTL则是一组标准标签库,包含了多个...

    jsp El表达式

    EL表达式支持使用特定的变量,包括 `page`、`request`、`session` 和 `application`,这些变量分别对应了JSP页面的不同作用域。EL表达式会依次从 `page`、`request`、`session` 和 `application` 中查找变量的值,...

    El表达式介绍

    在JSTL 1.1及以后的版本中,**EL表达式语言**成为一个独立的组件,不再仅限于与JSTL标签库一起使用。在JSP 2.0容器中,EL表达式可以直接在页面的任何地方被理解和执行,无需与特定的标签库结合。EL表达式借鉴了...

    EL(Expression Language)表达式(详解)

    EL 表达式在 JSP 的静态文本中使用时相当于 scriptlet 表达式 代码 %&gt;(JSP 2.0 之后支持);用在标签中表示参数或者作为条件判断。EL 表达式在 JSP 中默认是启用的,如果要禁用 EL 有两种方法:第一种在 web.xml 中...

    表达式语言(EL)

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

    JSP中EL表达式的用法详解(必看篇)

    在JavaServer Pages (JSP) ...总结起来,EL表达式是JSP开发中的重要工具,它提高了代码的可读性和维护性,减少了脚本元素的使用,使JSP页面更加整洁。通过熟悉EL的语法和特性,开发者可以更高效地处理JSP页面中的数据。

    JavaEE+JDBC+Servlet+EL表达式的员工信息管理系统.zip

    通过这个项目,开发者可以实践如何利用JavaEE框架搭建服务器端逻辑,使用JDBC与数据库进行交互,以及在JSP页面中利用EL表达式展示动态数据,从而构建出一个完整的、能够处理员工信息的系统。同时,此项目也体现了...

Global site tag (gtag.js) - Google Analytics