一直十分喜欢jsp 2.0的,其中自觉对jsp 2.0的标签库认识不够,故学习之,在学习中,发现在标签库中,有一类可以被称为
函数式标签库的标签,其功能主要是通过EL(表达式语言)对静态函数方法的调用,这可以简化一些标签的开发。
想象在一个投票系统中,要展示投票的结果。假设有一个栏位要展示的是投票类型,比如展示给用户的是:单选,多选(当然,一般没
投票会在显示结果时这么傻展示出来的),而数据库中一般存储的是KEY,展示给用户的一般是value,则在页面展示时需要进行转换给用户看。
则我们先构造一个类,比如
package liao.vote;
public class votefunction
{
public static String changevotetype(int value)
{
//intvalue:这里比如是来自数据库的KEY
//在这里做转换的工作,这里省略了。。。。
}
}
然后设计自定义的标签库,比如vote.tld,如下结构
<?xml version="1.0" encoding="UTF-8" ?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<description>vote</description>
<display-name>vote</display-name>
<tlib-version>1.1</tlib-version>
<short-name>vote</short-name>
<uri>http://liao</uri>
<function>
<name>changevotetype</name>
<function-class>liao.vote.VoteFunction</function-class>
<function-signature>java.lang.String votetype( java.lang.String )</function-signature>
</function>
......下面的形式雷同,可以有很多个<function>
</taglib>
其中,<name>指名了函数的名称,这里是changevotetype,要和之前定义的名称一致,<function-class>指明了类的全名,要包括包名,而
<function-signature>则实际上是对函数的一个简单描述
当然,最后我们还要在web.xml里对其进行定义
<jsp-config>
<taglib>
<taglib-uri>http://liao/vote</taglib-uri>
<taglib-location>/WEB-INF/taglib/vote.tld</taglib-location>
</taglib>
</jsp-config>
注意把vote.tld放在WEB-INF/taglib文件夹下
在具体使用时,比如在JSP页面里
<%@ taglib prefix="vote" uri="http://liao/vote"%>
注意这里的uri要和web.xml里设置的<taglib-uri>相同
在实际调用时,如下方法调用
${vote:changevotetype{vote.votetype}}
其中vote.votetype是数据库里调用出来的key的值了,这里不详细展开。
分享到:
相关推荐
本文将深入探讨JSP 2.0中的自定义标签和自定义标签函数,以及如何配置和使用它们。 **一、自定义标签** 自定义标签是JSP中的一种高级特性,它允许开发者创建类似于HTML标签的自定义组件。这种组件可以封装复杂的...
1. **用户登录系统**:通过JSP和Servlet实现用户登录验证,展示JSP 2.0中的会话管理、请求处理等功能。 2. **购物车模块**:利用EL和JSTL构建购物车,演示数据操作和页面交互。 3. **动态表格展示**:使用JSP和...
在JSP 2.0中,`<jsp:page>`指令的`contentType`和`pageEncoding`属性默认为UTF-8,简化了国际化编码设置。同时,`<jsp:include>`和`<jsp:forward>`指令也得到改进,支持EL表达式。 4. **脚本元素的简化** JSP 2.0...
JSP 2.0中对JSTL的支持加强,降低了对自定义标签库的需求。 3. **页面指令简化**:在JSP 2.0中,`<jsp:include>`、`<jsp:useBean>`、`<jsp:setProperty>`等元素被简化,使得页面结构更清晰。 4. **脚本元素的声明...
- **JSTL(JavaServer Pages Standard Tag Library)**:一套标准标签库,包含核心标签、JDBC标签、XML标签等,简化JSP页面的编写,降低与Servlet的耦合度。 - **Page指令的默认设置**:例如默认编码为UTF-8,自动...
2. **统一的标签库**:JSP2.0引入了标准标签库(JSTL),包括核心、XML、函数和SQL四个主要部分,使开发者能以更一致的方式处理常见的任务。 3. **页面指令的简化**:如`<%@ taglib %>`和`<%@ page %>`指令得到简化...
- **标准标签库(JSTL, JSP Standard Tag Library)**:JSTL是一个官方推荐的标签库,包括核心、XML、JDBC、函数等几个部分,提供了丰富的标签来处理常见的任务,如循环、条件判断、I/O操作等。 - **页面指令的简化...
3. **自定义标签库(Tag Libraries)**:JSP2.0支持自定义标签,允许开发者创建自己的标签库,使得代码更加模块化和可扩展。 4. **页面指令简化**:`<jsp:include>`和`<jsp:forward>`等指令变得更简洁,同时引入了`...
2. **JSTL(JavaServer Pages Standard Tag Library)**:官方推荐的标准标签库,包括核心标签、JDBC标签、XML处理标签等,提高了代码的可读性和可维护性。 3. **Page Directive的默认编码设置**:允许开发者在page...
在JSP 2.0中,虽然TLD仍然需要,但可以通过注解(Annotations)进一步简化,使TLD的编写更加直观。 4. **注解驱动的自定义标签** JSP 2.0允许在自定义标签处理类上使用注解,比如`@WebTag`、`@Attribute`等,这些...
- **指令(Directives)**: JSP 2.0中包含`page`、`include`和`taglib`三种指令,用于设置页面属性、导入其他文件和定义自定义标签库。 - **脚本元素(Scripting Elements)**: 包括`!%>`(声明)、`<%= %>`...
在JSP2.0技术规范中,引入了一种新的标签机制,被称为Tag Files(标签文件),其主要目标是为了解决传统JSP页面中脚本元素的使用问题,提供一个更为简洁和高效的方式来进行页面动态内容的添加。开发者可以利用标签...
此外,手册还深入探讨了JSP 2.0中的新特性,如表达式语言(EL)、JSP标准标签库(JSTL)以及JSP 2.0的自定义标签开发。这些新特性使得JSP页面开发更加简洁、高效和易于维护。 最后,手册通过一系列实战案例,展示了...
- **JSP 2.0**: 引入了 EL (表达式语言) 和 JSTL (标准标签库),简化了页面逻辑的编写。 - **EL**: 提供了一种简便的方式来访问 JavaBean 属性和执行运算。 - **JSTL**: 包含一组预定义的标签,用于实现常见的页面...
在《jsp2.0 技术手册》中,我们首先会了解到Servlet的基础知识。Servlet是运行在服务器端的小型Java程序,它扩展了服务器的功能。JSP本质上可以看做是一种特殊的Servlet,它的页面内容是由服务器解析后,再发送给...
**JSP2.0大学教程 覃华 教学PPT** JSP(JavaServer Pages)是Java平台上的一个重要技术,它允许开发者在HTML、XML或其他任何支持的标记语言中嵌入Java代码,用于创建动态网页。JSP2.0版本引入了许多改进和新特性,...
2. **自定义标签库(JSTL)**:JSTL在JSP 2.0中得到广泛支持,允许开发者使用预定义的标签来执行常见的任务,如XML处理、数据库操作等,提高了代码的可读性和可维护性。 3. **Page指令的改进**:现在可以在page指令中...