jstl java_jsp—-标签编程(JSTL)

标签编程简介

JSP的开发是在HTML代码中嵌入了大量的Java代码,但是这样一来会使得JSP页面中充满了Java程序,修改或维护起来非常的不方便,

定义一个简单的标签—-空标签

要想实现一个标签,可以直接继承javax.servlet.jsp.tagext.TagSupport类,如果要定义的标签内没有标签体,则直接覆写TagSupport类中的doStartTag()方法即可。

进行第一个hello程序

定义标签的操作类 —— HelloTag.java

package com.oumyye.tagdemo;

import javax.servlet.jsp.JspException;

import javax.servlet.jsp.JspWriter;

import javax.servlet.jsp.tagext.TagSupport;

public class HelloTag extends TagSupport {

@Override

public int doStartTag() throws JspException {

JspWriter out = super.pageContext.getOut(); // 取得页面输出流对象

try {

out.println("

Hello World!!!

"); // 进行页面输出

} catch (Exception e) { // 此处产生异常,需要处理

e.printStackTrace();

}

return TagSupport.SKIP_BODY; // 没有标签体

}

}

定义标签描述文件 —— /WEB-INF/hellotab.tld

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_1.xsd"

version="2.1">

1.0

firsttag

hello

com.oumyye.tagdemo.HelloTag

empty

元素作用:

:TLD文件的根元素,里面可以定义多个元素;

:表示标签库的版本,用于开发和配置管理;

:一个标签的短名称,主要用于标签的编写工作;

:描述标签库中的每一个标签;

:标签的名称;

:标签处理类的路径;

:表示标签中是否包含标签体,如果是empty表示标签体为空。

编写JSP页面并调用标签 —— hellotag.jsp

偶my耶

web.xml配置

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-app_2_5.xsd">

http://www.helloweenvsfei.com/tags

/WEB-INF/hellotag.tld

标签组成部分

标签处理类:HelloTag.java;

标签描述文件:hellotag.tld;

JSP页面:通过定义标签;

(可选)在web.xml文件中配置映射名称。

6556c93be6e3ed9e5f64a7212068614d.png

下面我们介绍JSP的标准标签库(JSTL)

JSTL简介:JSTL(JSP Standard Tag Library,JSP标准标签库)是一个开放源代码的标签组件,由Apache的Jakarta小组开发,可以直接从http://tomcat.apache.org/taglibs/下载 ,下载来的JSTL.是以jar包的形式存在的,直接将此Jar包保存在WEB-INF/lib目录之中,之后可以直接通过WINRAR工具打开此JAR包,并且将里面的META-INF文件夹中的几个主要标签配置文件:c.tld、fmt.tld、fn.tld、sql.tld、x.tld保存在WEB-INF文件夹之中

JSTL是一个第三方的开源标签库;

JSTL操作时需要自己手工配置,如果通过MyEclipse开发,则可以直接使用。

JSTL主要的标签分类

b2c4ce83fb6d31d3e9fb15726b356ccb.png

核心标签库

核心标签库是JSTL中最重要的部分,也是在开发中最常使用到的部分,在核心标签库里主要完成的就是流程控制、迭代输出等操作

72d5d9bc18afc145a484d43616c1933d.png

国际化标签库

国际化是程序的重要组成部分,一个程序可以根据所在的区域进行相应信息显示,例如:各个地区的数字、日期显示风格都是不一样的,在JSTL中使用fmt.tld作为格式化标签库的定义文件。

8d9ab0f856fdbd0a1ce37299ee84f5c6.png

SQL标签库

082120af1629444cf69bca6a29819205.png

XML标签库

在开发中XML解析的操作是非常烦琐的,幸运的是在JSTL中专门提供了用于XML解析的操作,这样用户就可以不用费力的去研究SAX或DOM等操作的使用,就可以轻松的进行XML文件的解析处理。

a8b157360f05f0c403704588a7e6b98a.png

函数标签库

0736c8c73bf150e34112ccad94c577c6.png

https://www.cnblogs.com/oumyye/tag/java/default.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值