小布丁的博客

一个奋起的小白

jsp标准标签库

一:JSTL标准标签库

Jstl (java Server Pages Standdard TagLibraey)标准标签库是sun公司制定的一套标准标签库

Jstl标签库是有五个功能不同的标签库组成的,在jstl1.1规范中,为这五个标签库指定了URI和建议使用的前缀

标签库

URI

前缀

Core

http://java.sun.com/jsp/jstl/core

c

I18N

http://java.sun.com/jsp/jstl/fmt

fmt

SQL

http://java.sun.com/jsp/jstl/sql

sql

XML

http://java.sun.com/jsp/jstl/xml

x

Functions

http://java.sun.com/jsp/jstl/functions

fn

Core:JSTL核心标签是最常用的JSTL标签

I18N:JSTL格式化标签用来格式化并输出文本、日期、时间、数字。(也被称为国际化标签)

SQL: JSTL SQL标签库提供了与关系型数据库(OracleMySQLSQL Server等等)进行交互的标签

XML: JSTL XML标签库提供了创建和操作XML文档的标签。

Functions: JSTL包含一系列标准函数,大部分是通用的字符串处理函数。

二:自定义标签

自定义标签可以把HTML代码和Java代码进行有效的分离。

Jsp规范中定义了多个用于开发自定义标签的接口和类,它们都位于javax.servlet.jsp.tagext包中,

这些接口与类的关系:

SimpleTag是所有简单标签处理类的父接口,这个接口中定义了5个方法

方法

功能描述

 

void setJSPContext(JspContext  pc)

用于将jsp页面的内置对象pageContext对象传递给标签处理器,标签处理器可以通过pageContext与jsp页面进行通信jspContext是pageContext的父类

 

Void setParent(JspTag  parent)

用于将当前标签的父标签处理器对象传递给当前标签处理器,如果当前标签没有父标签,jsp容器不用调用这个方法

JspTag  getParent()

返回当前标签的父处理器对象,如果当前标签没有父标签则返回null

Void setJspBody(JspFrangment jspBody)

用于把代表标签体的jspFragment对象传递给标签处理器对象

 

 

void doTag()

用于完成所有的标签逻辑,包括输出,迭代,修改标签体内容等,在doTag()方法中可以抛出javax.servlet.jsp.SkipPageException异常,用于通知jsp容器不再执行jsp页面中位于结束标签后面的内容,这等效于传统标签的doEndTag()方法中返回的SKIP_PAGE常量


编写自定义标签步骤:

1.      编写标签处理器(java类)

传统标签开发通过继承TagSupport类或者BodyTagSupport类

简单标签开发通过继承SimpleTagSupport类

2.      编写标签描述符文件(tld)

<?xml version="1.0" encoding="utf-8"?>
<taglib xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    		        http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"
   			version="2.1">  
  <!-- 描述 自定义标签版本的一种描述 --> 
  <description>Pager 1.0 core library</description>
  <!-- 显示的名称 导包进行的一个展示 -->
  <display-name>Pager core</display-name>
  <!-- 版本号 -->
  <tlib-version>1.0</tlib-version>
  <!-- 短名 -->
  <short-name>fkjava</short-name>
  <!-- uri :导包 -->
  <uri>http://yyf.pager-tags</uri>

  <!-- 定义一个标签 -->
  <tag>
  		<!-- 标签名 -->
  		<name>pager</name>
  		<!-- 标签处理类 -->
  		<tag-class>com.hrm.utils.PagerTag</tag-class>
  		<!-- 设置标签为空 -->
  		<body-content>empty</body-content>
  		
  		<!-- 定义标签的属性 -->
  		<attribute>
  			<!-- 属性名 表示分页的第几页 -->
  			<name>pageIndex</name>
  			<!-- 必须的 -->
  			<required>true</required>
  			<!-- run time expression value 为true支持EL表达式 -->
  			<rtexprvalue>true</rtexprvalue>
  		</attribute>
  </tag>
</taglib>

3.  在jsp页面导入和使用自定义标签



阅读更多
个人分类: 服务器 jsp页面
上一篇EL表达式
下一篇用ssh协议,虚拟终端putty,xshell登陆远程服务器出现的问题
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

jsp标准标签库

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭