要做下面两件事就可以达到目的了:
1 在tld文件如下配置:
- <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>
<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 方法 如下写
- private Object title = "";
-
public void setTitle(final Object title) throws JspException
- {
-
-
this.title = ExpressionEvaluatorManager.evaluate("title", title.toString(), Object.class, this, pageContext);
- }
-
-
public Object getTitle()
- {
-
return title;
- }
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 = "标题";
这样工作就做完了,自定义标签就可以处理 ${}了.
分享到:
相关推荐
例如,`<c:if>`和`<c:forEach>`标签可以配合EL表达式进行条件判断和循环操作。通过这种方式,开发者可以将业务逻辑和视图层分离,提高代码的可读性和维护性。 **应用场景** 1. **数据绑定**:EL表达式常用于数据...
虽然EL是Java EE的一部分,但在某些情况下,如Tomcat这样的轻量级应用服务器,可能需要这个JAR来支持EL表达式。 在部署Web应用到服务器之前,确保将这两个JAR文件添加到WEB-INF/lib目录下。这样,服务器就可以识别...
**JSP EL表达式详解** JavaServer Pages (JSP) Expression Language(EL)是JSP 2.0及更高版本中引入的一种轻量级、简洁的脚本语言,用于简化在JSP页面中访问JavaBean属性和其他Java对象的流程。EL表达式主要用于...
由于Web 2.5及更高版本的规范默认支持EL表达式的解析,可以通过修改web.xml文件的`<web-app>`标签中的`version`属性值来实现。 ```xml xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation=...
此外,配合JSTL(JavaServer Pages Standard Tag Library)库,EL表达式可以使JSP页面更加整洁,提高可读性和维护性。JSTL提供了一系列预定义的标签,如`c:forEach`用于遍历集合,`fmt:formatDate`用于格式化日期等...
EL表达式支持多种运算符,包括算术运算符、关系运算符和逻辑运算符。运算符的使用与传统编程语言类似,但EL提供了更简便的语法结构,如属性访问、数组索引以及方法调用等。 例如,`bean.propertyName`可以访问...
### EL表达式和JSTL标签详解 #### 一、EL表达式 ##### 1. EL简介 **1.1 语法结构** EL (Expression Language) 表达式的语法非常简单,采用 `${expression}` 的形式来表示。这种语法可以在任何 HTML 和 JSP 标签...
### EL表达式大全 #### 一、EL表达式概述 EL(Expression Language)是一种简洁的表达方式,用于访问JavaBean属性。它简化了原本复杂的Java代码,并且可以在JSP页面中方便地使用。 ##### 1. 语法结构 EL表达式的...
JSTL 1.1规范中的EL可以独立于JSTL标签库使用,JSP2.0容器能够直接解析和执行EL表达式。这使得EL在JSP页面的任何地方都可直接应用,增强了代码的可读性和可维护性。 总的来说,JSTL和EL为JSP开发带来了标准化和效率...
EL表达式可以在JSP的标签、脚本元素或文本中使用,它使得JSP页面更加简洁,降低了维护成本。例如,显示一个用户的姓名,可以这样写: ```jsp Hello, ${user.name}! ``` 这里,`${user.name}`就是一个EL表达式,它会...
而在**JSTL 1.1**及其后续版本中,EL表达式可以直接在JSP页面中使用,因为JSP 2.0容器已经能独立解析和执行EL表达式,不再局限于JSTL标签内。 JSTL包含多个库,每个库都有特定的功能: 1. **核心标签库(Core ...
EL表达式支持多种运算符,如算术运算符、比较运算符和逻辑运算符,还可以处理集合、数组和Map等数据结构。例如,`${user.name}`可以用来获取名为`user`的对象的`name`属性值。 JSTL则是一组标准标签库,包含了多个...
EL表达式支持使用特定的变量,包括 `page`、`request`、`session` 和 `application`,这些变量分别对应了JSP页面的不同作用域。EL表达式会依次从 `page`、`request`、`session` 和 `application` 中查找变量的值,...
在JSTL 1.1及以后的版本中,**EL表达式语言**成为一个独立的组件,不再仅限于与JSTL标签库一起使用。在JSP 2.0容器中,EL表达式可以直接在页面的任何地方被理解和执行,无需与特定的标签库结合。EL表达式借鉴了...
EL 表达式在 JSP 的静态文本中使用时相当于 scriptlet 表达式 代码 %>(JSP 2.0 之后支持);用在标签中表示参数或者作为条件判断。EL 表达式在 JSP 中默认是启用的,如果要禁用 EL 有两种方法:第一种在 web.xml 中...
EL的基本语法结构是`${expression}`,其中`expression`是EL表达式,可以包含字面值、运算符、变量和函数调用等元素。 - **字面值**:如字符串、布尔值、数字等。 - **变量**:即对象引用。 - **函数调用**:可以...
在JavaServer Pages (JSP) ...总结起来,EL表达式是JSP开发中的重要工具,它提高了代码的可读性和维护性,减少了脚本元素的使用,使JSP页面更加整洁。通过熟悉EL的语法和特性,开发者可以更高效地处理JSP页面中的数据。
通过这个项目,开发者可以实践如何利用JavaEE框架搭建服务器端逻辑,使用JDBC与数据库进行交互,以及在JSP页面中利用EL表达式展示动态数据,从而构建出一个完整的、能够处理员工信息的系统。同时,此项目也体现了...