jsp标准标签库

2 篇文章 0 订阅

一: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页面导入和使用自定义标签



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值