jstl标签基础开发步骤(详解)
作者:jingxian 发布时间:2023-07-08 18:25:41
标签:jstl,标签
step1. 导包(导入要使用的标签的jar文件)。
step2. 使用taglib指令引入要使用的标签。
taglib指令:
uri:标签的命名空间。
prefix:命名空间的别名。
注:
命名空间:是为了区分同名的元素而添加的前缀。
自定义标签:
step1. 写一个java类,继承SimpleTagSupport类。
step2. 在doTag方法里面,编写处理逻辑。
step3. 描述标签。(.tld文件里面)
注: <body-content>的值可以是
empty 没有标签体。
scriptless 可以有标签体,但是标签体的内容不能够出现java代码。
JSP 可以有标签体,标签体的内容可以出现java代码。(只有复杂标签技术才支持JSP这个值,简单标签技术只支持empty和scriptless)。
简单日期标签datetag.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">
<tlib-version>1.1</tlib-version>
<short-name>d1</short-name>
<uri>http://aliyun.com</uri>
<tag>
<!-- name:表示自定义标签 <c1:date名字相同 -->
<name>date</name>
<tag-class>tag.DateTag</tag-class>
<body-content>empty</body-content>
<attribute>
<!-- name:表示自定义标签 <c1:date datetag名字相同 -->
<name>datetag</name>
<!-- true,表示可以使用el表达式来赋值 -->
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
</taglib>
日期java标签类:
package tag;
/**
* 自定义日期标签
*/
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 DateTag extends SimpleTagSupport {
private String datetag;
public String getDatetag() {
return datetag;
}
public void setDatetag(String datetag) {
this.datetag = datetag;
}
@Override
public void doTag() throws JspException, IOException {
PageContext pc = (PageContext) getJspContext();
SimpleDateFormat sdf = new SimpleDateFormat(datetag);
String date = sdf.format(new Date());
JspWriter out = pc.getOut();
out.println(date);
}
}


猜你喜欢
- 1、一次性添加多行注释的快捷键首先选中要注释区域,然后ctrl+/ 这个是多行代码分行注释,每行一个注释符号ctrl+shift+/ 这个是
- 本文实例讲述了Java定义泛型方法。分享给大家供大家参考,具体如下:一 点睛1 如果定义类、接口是没有使用类型形参,但定义方法时想自己定义类
- 本文介绍了Android BottomSheet效果的两种实现方式,分享给大家,具体如下:BottomSheet效果BottomSheet的
- 本文实例为大家分享了Android仿新浪微博分页管理界面的具体代码,供大家参考,具体内容如下多个activity分页管理,为了方便获取上下文
- 1、String 是最基本的数据类型吗?不是。Java 中的基本数据类型只有 8 个 :byte、short、int、long、float、
- springboot与spring区别一、spring 可以做什么之前已经学习了 spring 的 IOC容器、AOP、springMVC
- 出现场景更新了Android Studio版本后,运行项目就出现以下警告。Warning: Mapping new ns http://sc
- springboot对kafka的client很好的实现了集成,使用非常方便,本文也实现了一个在springboot中实现操作kafka的d
- Android 自定义imageview实现图片缩放实例详解 觉得这个自定义的imageview很好用 性能不错 所以
- 本文实例讲述了Android AutoCompleteTextView连接数据库自动提示的方法。分享给大家供大家参考,具体如下:这个简单例子
- 演示代码: MenuExamples.java package swt_jface.demo5; import org.eclipse.sw
- @Transactional 内部调用例子 🌰在 Spring 的 AOP 代理下,只有目标方法由外部调用,目标方法才由 Spring 生成
- 本文实例讲述了C#使用前序遍历、中序遍历和后序遍历打印二叉树的方法。分享给大家供大家参考。具体实现方法如下:public class Bin
- 封面图下个季度的目标是把前端监控相关的内容梳理出来,梳理出来之后可能会在公司内部做个分享~Flutter应用程序既括代码也包括一些其他的资产
- 本文实例为大家分享了C#根据http和ftp地址获取对应图片的具体代码,供大家参考,具体内容如下public class GetBitmap
- 图片的复制无非有两种方法,一种是图片直接上传到服务器,另外一种转换成二进制流的base64码目前限chrome浏览器使用首先以um-edit
- 这里给一个样例树:代码:#include <stdio.h> #include <string.h>#include
- 本文实例讲述了Java通过在主循环中判断Boolean来停止线程的方法。分享给大家供大家参考,具体如下:package Threads;/*
- 一、JVM 内存模型根据 JVM 规范,JVM 内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。1、虚拟机栈:每个线程有一个
- 本文实例讲述了Android编程实现Listview点击展开和隐藏的方法。分享给大家供大家参考,具体如下:代码较多,所以找关键点大家贴出来,