自定义标签
来源:互联网 发布:win7无网络访问权限 编辑:程序博客网 时间:2024/06/05 07:58
JSTL语法使用时,需要导入jstl.1.2包,通过引用包中的标签实现具体的语法。可以仿照其中的标签自定义一些特殊功能的标签,例如定义输出系统时间的标签。
1、创建tld文件,文件名自己定义尽量简洁,文件以tld结尾,例如:k.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>My tag library</description> <display-name>My JSTL core</display-name> <tlib-version>3.2</tlib-version> <!--下面一项前缀和文件名相同,前面三项自己定义--> <short-name>k</short-name> <!--uri地址自己定义--> <uri>/my-tag</uri> <!--下面几项格式是套路,逐一填写--> <tag> <description>标签描述</description> <name>sysdate</name> <!--标签类,包名.类名--> <tag-class>web.SysDateTag</tag-class> <!--双标签中的内容,如果是单标签,则是empty--> <body-content>empty</body-content> <attribute> <description>属性格式></description> <name>format</name> <!-- 是否必须输入 --> <required>true</required> <!-- 是否允许EL表达式输入 --> <rtexprvalue>true</rtexprvalue> </attribute> </tag></taglib>
2、创建类
package web;import java.io.IOException;import java.text.SimpleDateFormat;import java.util.Date;import javax.servlet.jsp.JspException;import javax.servlet.jsp.JspWriter;import javax.servlet.jsp.PageContext;import javax.servlet.jsp.tagext.SimpleTagSupport;public class SysDateTag extends SimpleTagSupport { //给方法传入参数,该变量与标签里面的属性名一致 private String format; public String getFormat() { return format; } public void setFormat(String format) { this.format = format; } @Override public void doTag() throws JspException, IOException { Date date=new Date(); SimpleDateFormat sdf=new SimpleDateFormat(format); String time=sdf.format(date);// 输出时间,该方法声明返回值类型是JspContext,// 而实现方法时的实际类型是PageContext,PageContext extends JspContext PageContext ctx=(PageContext)getJspContext(); JspWriter out=ctx.getOut(); out.println(time);// 此处不能关闭流,因为其他标签也要使用,Tomcat会自动关闭 }}
3、写jsp文件
<%@ page pageEncoding="utf-8" %><!--使用taglib指令,prefix是标签文件的前缀--><%@taglib uri="/my-tag" prefix="k" %><!doctype html><html><head> <meta charset="utf-8"> <title>自定义标签输出当前时间</title></head><body> <h1>自定义标签输出当前时间</h1> <p> <!--sysdate是自定义标签中的标签名--> <k:sysdate format="yyyy-MM-dd HH:mm:ss"/> </p></html>
阅读全文
1 0
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- Hadoop大数据生态系统及常用组件简介
- oracle数据库内存结构pga/sga/uga做比较分析
- win10下vs2013+CUDA8.0+cuDNN8.0的caffe编译过程
- Appium基础篇7-元素定位之by_android_uiautomator
- PAT_A 1051. Pop Sequence (25)
- 自定义标签
- eclipse导入maven项目出现Unsupported IClasspathEntry kind=4错误
- html学习——将html网页转换成pdf形式工具 wkhtmltopdf
- redis的常用命令
- 【Maven】传递性依赖
- 稳定排序和不稳定排序的意义与分析
- Angular4中关于component组件如何获取前端页面用户输入的值
- 文件系统有哪些
- 网站日志分析项目案例