美文网首页
标签学习01

标签学习01

作者: iOSjiang | 来源:发表于2016-06-27 22:37 被阅读5次

1、标签的作用

自定义标签是属于JSP规范的。

开发原则:JSP中不要使用<%%>(标签替换)和<%=%>(EL表达式)

自定义标签的作用:替换掉JSP中的JSP脚本(<%%>),实现一些简单的逻辑运算。

2、标签的开发步骤

a、编写一个类,实现一个接口javax.servlet.jsp.tagext.SimpleTag.或者继承javax.servlet.jsp.tagext.SimpleTagSupport。

import java.io.IOException;

import javax.servlet.jsp.JspException;

import javax.servlet.jsp.PageContext;

import javax.servlet.jsp.tagext.SimpleTagSupport;

import java.text.DateFormat;

import java.text.SimpleDateFormat;

import java.util.Date;

//继承  SimpleTagSupport

public class GetCurrentTime extends SimpleTagSupport {

@Override

//实现  dotag方法

public void doTag() throws JspException, IOException {

// TODO Auto-generated method stub

super.doTag();

Date now = new Date();

DateFormat formate = new SimpleDateFormat();

String str = formate.format(now);

//获取content

PageContext content  = (PageContext)getJspContext();

//输出

content.getOut().write(str);

}

}

b、在WEB-INF目录下,建立一个扩展名为tld(Tag Libary

Definition)的xml文件。

注:tld如果在WEB-INF或者在jar包的META-INF目录下,都能自动找到。

<?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> A tag library exercising SimpleTag handlers.</description>

<tlib-version>1.0</tlib-version>

<short-name>名字</short-name>

<uri>http://www.jiangjianli.com/Demo1</uri>

<tag>

//description否用于指定属性的描述信息。

<description>demo1</description>

//name 必须有  用于指定属性的名称。属性名称是大小写敏感的,并且不能以jsp、_jsp、java和sun开头。

<name></name>

//完整类名

<tag-class></tag-class>

//•empty:没有标签体

//scriptless:标签体可以包含el表达式和JSP动作元素,但不能包含JSP的脚本元素  <前缀名:tagname></前缀名:tagname>                这种方式调用

//如果是empty 在JSP可<前缀名:tagname/>调用

<body-content>scriptless</body-content>

<attribute>//标签中有参数是需配置参数名

<name></name>

<required>true</required>

//是否支持el表达式

<rtexprvalue>true</rtexprvalue>

</attribtue>

</tag>

在标签调用时传递了内容如<demo:demo1>abcdef</demo:demo1>将会调用setJspBody方法

/*. 若存在标签体, JSP 引擎将把标签体封装成一个 JspFragment

对象,调用setJspBody方法将JspFragment对象传递给标

签处理器对象。若标签体为空,这setJspBody将不会被

JSP引擎调用

*/

可以通过在dotag方法中通过下面代码获取到内容

StringWriter sw = new StringWriter();

//将内容写到SW中

getJspBody().invoke(sw);

//转换为字符串

String str = sw.getBuffer().toString();

//输出到浏览器

PageContext page = (PageContext)getJspContext();

page.getOut().write(str);

相关文章

  • 标签学习01

    1、标签的作用 自定义标签是属于JSP规范的。 开发原则:JSP中不要使用<%%>(标签替换)和<%=%>(EL表...

  • 03-HTML常用标签

    typora-copy-images-to: media 第01阶段.前端基础.HTML常用标签 学习目标 理解:...

  • Html学习之旅——常用标签01

    总所周知,html5成为时下越来越火的语言,因为一次编程可以同时运行到Android和IOS上。百度百科给出的定义...

  • 漫谈机器学习之小知识点总结

    0x00 前言 总结一些之前学习机器学习的小知识点。 0x01 标签和特征 什么是标签,什么是特征?我们可以先这样...

  • 20190127周检视

    2019-01-21—2019-01-27 [三个标签] 1、成长的父亲; 2、自我挑战者; 3、终身学习者; [...

  • 20190113周检视

    2019-01-07—2019-01-13 [三个标签] 1、成长的父亲; 2、自我挑战者; 3、终身学习者; [...

  • Nginx配置文件location标签的学习笔记

    title: Nginx配置文件location标签的学习笔记date: 2018-11-01 11:57:49t...

  • HTML学习总结01- html标签

    HTML简介 首先,HTML 指的是超文本标记语言 (Hyper Text Markup Language),它 ...

  • 第一周笔记总结

    HTML01: 1.标签的分类 根据标签的格式分为: 单标签,例如 , 双标签,例如 根据标签的特性分类: ...

  • Introduction of Machine Learning

    解释 监督学习:有标签数据 半监督学习:部分有标签 非监督学习:无标签 迁移学习:用非相关数据(含标签)来优化目标...

网友评论

      本文标题:标签学习01

      本文链接:https://www.haomeiwen.com/subject/rerodttx.html