1.写一个Java类

   我的路径是写再tag包中的一个 HelloTag类 

package tag;

import java.io.IOException;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.SimpleTagSupport;
/*
* 标签类
* 1.继承SimpleTagSupport
* 2.override doTag方法
* 3.标签有哪些属性,标签类也得有对应的属性,属性名要一样,类型要匹配,并且有对应的set方法
*/
public class HelloTag extends SimpleTagSupport{
private String info;
private int qty;
public HelloTag() {
System.out.println("HelloTag running");
}
public void setInfo(String info) {
System.out.println("HelloTag setInfo");
this.info = info;
}
public void setQty(int qty) {
System.out.println("HelloTag setQty");
this.qty = qty;
}
@Override
public void doTag() throws JspException, IOException {
System.out.println("HelloTag doTag");
/**
* 通过继承自SimpleTageSupport提供的方法来获得pageContext,pageContext
* 提供了获得其他所有隐含对象的方法
*/
PageContext pctx = (PageContext)getJspContext();
for(int i =0;i<qty;i++){
JspWriter out = pctx.getOut();
out.println(info+"<br>");
} } }

  定义一个.tld文件再 webapp下的WEB-INF文件夹中,实际就是xml

<?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"> <tlib-version>1.1</tlib-version>
<short-name>t</short-name>
<uri>http//tedu.cn/mytag</uri> <tag> <name>date</name>
<tag-class>tag.DateTag</tag-class>
<!--
body-content是用来告诉容器,标签有没有标签体,如果有,可以出现那些内容,
empty:没有标签体
scriptless:有标签体,但是,标签体里面不能够出现java代码
JSP:有标签体 ,并且标签体里面允许出现java代码,但是只有复杂标签技术才支持这个值
-->
<body-content>empty</body-content> <attribute> <name>pattren</name>
<!-- required 值为true,表示该属性必选 -->
<required>true</required>
<!-- retexprvalue 设置为true,表示该属性可以动态赋值,(比如可以使用el表达式来赋值) -->
<rtexprvalue>true</rtexprvalue>
</attribute> </tag>
</taglib>

  使用:

<%@ page contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib uri="http//tedu.cn/mytag" prefix="t"%>  <!-- 引入 -->
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<t:hello info="Hello Kitty" qty="${1+8 }"></t:hello> <!-- 使用 -->
</body>
</html>

Java之 jstl 自定义标签的方法的更多相关文章

  1. JSTL自定义标签

    这节我们总结一下JSTL自定义标签相关内容. 1. 自定义标签简介 自定义标签主要用于移除JSP页面中的Java代码.Jsp页面主要是用来显示给前台的,如果里面有过多的java代码的话,会显得很乱,但 ...

  2. Java中替换HTML标签的方法代码

    这篇文章主要介绍了Java中替换HTML标签的方法代码,需要的朋友可以参考下 replaceAll("\\&[a-zA-Z]{0,9};", "").r ...

  3. (转) ThinkPHP模板自定义标签使用方法

    这篇文章主要介绍了ThinkPHP模板自定义标签使用方法,需要的朋友可以参考下  转之--http://www.jb51.net/article/51584.htm   使用模板标签可以让网站前台开发 ...

  4. 超全面的JavaWeb笔记day13<JSTL&自定义标签>

    1.JSTL标签库(重点) core out set remove url if choose when otherwise forEach fmt formatDate formatNumber 2 ...

  5. [Java] JSP笔记 - 自定义标签

    自定义标签的创建步骤: 自定义标签的四大功能: 自定义标签的类结构: 在 1.0 中呢, 可以将 <body-content> 的值设置为 JSP, 2.0中则不允许在自定义标签体中出现j ...

  6. JSTL 自定义标签

    编写描述标签的tld文件,把这个文件放到web-inf/目录下,才能在jsp页面上调用自定义的标签 package test.yz; import java.io.IOException; impor ...

  7. JavaWeb学习之JSTL自定义标签库的使用、JSTL自定义函数库(7)

    一.自定义标签,步骤 * 确定需求 * <my:date /> 输出当前系统的时间 yyyy-MM-dd hh:mm:ss:SSS * 编写Java类 新建包名:com.yxl.tag,新 ...

  8. JSTL自定义标签库 (二)

    要定义自己的标签,首先写个java类,extends TagSupport  或者 implements Tag ,然后在类体里实现自己想要的方法,或者覆盖父类的方法. 我定义的MyTag代码如下: ...

  9. JSP2的自定义标签和方法

    Jsp2的自定义标签 Jsp2 开发标签库的几个步骤: 开发自定义标签处理类. 建立一个*.tld文件,每个tld文件对应一个标签库,每个标签库可对应多个标签. 在jsp文件中使用自定义标签 空标签 ...

随机推荐

  1. Quartz使用(1) - 初识quartz

    1. 背景 由于最新的工作项目中,需要使用quartz框架,以完成相关的任务的定时执行.经过两周的调研与使用,本系列博客会参考官网及网上相关博客,结合工作项目中的使用,详细介绍quartz的各个方面. ...

  2. java中关于冒泡排序算法的学习。

    在编程语言的学习中,排序算法在学习过程中是必须要掌握的,特别在新手的学习中,我们应该学会这些算法,本篇先介绍冒泡算法. 冒泡排序 设有一组待排序的数据: 3 2 4 5 7 1 我们需要使用冒泡排序来 ...

  3. Python模块入门(一)

    一.模块介绍 模块就是一系列功能的集合体 模块有三种来源: 1.内置模块:python内提供的模块 2.第三方模块:由第三方提供的模块 3.自定义模块:自行定义的模块 模块的格式: 1.使用pytho ...

  4. Android Studio Git 分支实践

    新公司有些项目是用的 Git,以前公司都是 svn,为了练手 Git,我个人 APP 用到了,但是仅简单的 git pull/push 的使用,并未用到 Git 精髓,只有当项目中用到,才会紧迫去全面 ...

  5. springboot/springmvc转换器

    常用的转换器 String转Date转换器(用于接受日期参数自动转换成Date类型便于后台数据处理) /** * 全局handler前日期统一处理 * @author zhanghang * @dat ...

  6. JDBC源码解析

    参考:https://blog.csdn.net/silviakafka/article/details/46225045

  7. helm深入学习

    Helm把Kubernetes资源(比如deployments.services或 ingress等) 打包到一个chart中,而chart被保存到chart仓库.通过chart仓库可用来存储和分享c ...

  8. 什么是permit-inside功能

    若内网有一台服务器映射成为一个公网IP地址,并且将该公网IP注册至一个域名中.此时内网用户通过直接输入域名访问该服务器,域名服务器将该服务器的地址解析为已经注册的公网IP地址.默认情况下,当内网用户通 ...

  9. AD的命名规则 AD常用产品型号命名规则

    AD的命名规则 AD常用产品型号命名规则 DSP信号处理器    放大器工业用器件通信    电源管理    移动通信 视频/图像处理器等 模拟A/D    D/A 转换器 传感器    模拟器件 A ...

  10. 一种轻量级的C4C业务数据同步到S4HANA的方式:Odata通知

    SAP Cloud for Customer和SAP其他传统产品的同步,除了使用SAP Netweaver Process Integration和SAP HANA Cloud Integration ...