源:http://www.iteye.com/topic/187280
评:
<%@taglib prefix="a" uri="/WEB-INF/tags/aa.tld" %>
- <%
- String str = "这是EL表达式从 request中取出来的文字!";
- request.setAttribute("str",str);
- %>
-
<a:rim title="${str }">
1 在tld文件如下配置:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>aa</short-name>
<uri>http://java.sun.com/jstl/core</uri>
<display-name>J2EE Common Development Framework</display-name>
<tag>
<name>rim</name>
<tag-class>com.RimTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<name>title</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
2 对接收到的EL表达式处理
public class RimTag extends OutSupport {
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;
}
public int doStartTag() throws JspException {
JspWriter w = pageContext.getOut();
try {
w.write(title.toString());
} catch (IOException e) {
e.printStackTrace();
}
return SKIP_BODY;
}
}
这里处理${}的是org.apache.taglibs.standard.lang.support下,有个叫 ExpressionEvaluatorManager类,
ExpressionEvaluatorManager.evaluate有五个参数。第一个title属性的名字,本例用"title"就行。 第二个要求字符串,通常简单调用输入对象的toString方法。第三个是类,通常用Object.class。第四个用this即可,第五个是 pageContext变量。
注意:当你的tag属性支持el表达式时,你必须把它声明为Object对象:本例中是 private Object title = "标题";
这样工作就做完了,自定义标签就可以处理 ${}了.
相关推荐
自定义EL表达式极大地扩展了JSTL的能力,使开发者能够创建符合项目需求的定制化解决方案,同时保持代码的简洁和规范。通过深入理解和实践自定义EL表达式,你可以更好地驾驭JSTL,提升Java Web应用的开发效率和质量。
### JSP学习总结:基础、自定义标签与EL表达式 #### JSP概念与特性 JSP(Java Server Pages)是一种服务器端脚本语言,它允许开发者在HTML文档中嵌入Java代码,使得网页能够根据不同的请求动态生成内容。JSP文件在...
EL 表达式是一种在 Java 服务器页面(JSP)中使用的表达式语言。它提供了一种简单的方式来访问和操作 Java 对象的属性。EL 表达式广泛应用于 JSP、Servlet、JSF 等 Web 开发技术中。本文将详细介绍 EL 表达式的使用...
JSTL(JavaServer Pages Standard Tag Library)提供了一套核心标签库,增加了流程控制和循环控制功能,通过自定义函数等增强功能,基本上可以替代原有的scriptlet编程方式,使JSP页面的格式更加统一和规整。...
EL 表达式是 Java 服务器页面(JSP)和 Java 服务器面板(JSF)中使用的一种表达式语言,用于在 Web 应用程序中实现动态内容。EL 表达式可以被解析成数值表达式和方法表达式,其中取值表达式用于引用一个值,而方法...
Java JSP页面技术之EL表达式整理归纳总结的知识点如下: EL表达式的概念和作用: EL表达式,全称Expression Language(表达式语言),是一种在JSP(Java Server Pages)技术中使用到的,用于简化Java Web应用程序中...
EL与JSP自定义标签** EL还可以与自定义JSP标签结合使用,实现更复杂的业务逻辑。自定义标签可以包装Java方法,EL表达式则调用这些标签,这样既保持了页面的清晰,又实现了业务需求。 总的来说,EL表达式在JSP页面...
JSP应用开发-EL表达式与JSTL标签 EL表达式(Expression Language)是一种用于JSP页面中的语言,主要用于替换JSP页面中的脚本表达式,从JSP隐式对象中提取java对象、获取数据。EL表达式的语法结构是:“${变量或...
在JSP页面的EL表达式中,可以直接调用自定义函数,如`${myFunction('参数')}`。 **三、示例解析** "jsp 2.0自定义标签.doc"文件很可能包含了一个关于如何创建和使用自定义标签的详细教程。它可能涵盖了从创建TLD...
**JSTL与EL的协同工作**:在JSP页面中,EL表达式通常与JSTL标签一起使用,EL负责数据的获取和计算,而JSTL标签则负责页面的逻辑控制。例如,使用EL表达式和`<c:if>`标签可以实现简单的条件判断: ```jsp ${user != ...
自定义EL表达式 EL表达式(Expression Language)是一种用于Web应用程序的表达式语言,主要用于替换JSP页面中的脚本表达式,以从各种类型的Web域中检索Java对象、获取数据。EL表达式可以获取数据、执行运算和逻辑...
【jsp自定义标签库注意事项】 在Java服务器页面(JSP)开发中,自定义标签库是一种强大的工具,它能够帮助开发者创建可重用的代码片段,提高代码的可读性和可维护性。以下是对JSP自定义标签库的详细解释和使用注意...
在这个例子中,`messageCount`和`currentPage`通常是从后台服务获取的数据,通过EL(Expression Language)表达式传递给自定义标签。 自定义标签的优势在于代码复用和分离关注点,使得业务逻辑和视图层更加清晰。在...
此外,配合JSTL(JavaServer Pages Standard Tag Library)库,EL表达式可以使JSP页面更加整洁,提高可读性和维护性。JSTL提供了一系列预定义的标签,如`c:forEach`用于遍历集合,`fmt:formatDate`用于格式化日期等...
自定义标签可以与Servlet、JavaBean、EL(表达式语言)和JSTL(JavaServer Pages Standard Tag Library)等技术结合使用,增强JSP应用的功能和性能。 10. **最佳实践** - **设计清晰的API**:确保自定义标签接口...
### EL表达式语言详解 #### 9.1 概述 在JSP页面开发中,为了提高代码的可读性和可维护性,开发者们逐渐转向使用标签库来替代传统的Java片段语言来实现页面的显示逻辑。然而,自定义标签虽然灵活,但也容易导致重复...
EL表达式(Expression Language),是一种用于Java Web开发中方便数据存取的表达式语言,最初作为JSP标准标签库(JSTL)的一部分,是JSTL 1.0为了方便存取数据而自定义的语言。EL允许开发者在JSP页面中通过简洁的...
EL还支持调用自定义函数,可以在EL表达式中使用这些函数来执行更复杂的逻辑操作。函数调用的基本语法为`{fn: functionName(args)}`。 - **函数调用格式**:`{fn: functionName(arg1, arg2, ...)}` 这里`fn:`是...
通过使用`<jsp:useBean>`标签,可以在JSP页面中创建并使用自定义JavaBean对象,并通过EL表达式来访问这些对象的属性。例如,假设存在两个JavaBean类`A`和`B`,其中`A`包含一个类型为`B`的对象`b`,那么可以通过下面...