Java之 jstl 自定义标签的方法
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 自定义标签的方法的更多相关文章
- JSTL自定义标签
这节我们总结一下JSTL自定义标签相关内容. 1. 自定义标签简介 自定义标签主要用于移除JSP页面中的Java代码.Jsp页面主要是用来显示给前台的,如果里面有过多的java代码的话,会显得很乱,但 ...
- Java中替换HTML标签的方法代码
这篇文章主要介绍了Java中替换HTML标签的方法代码,需要的朋友可以参考下 replaceAll("\\&[a-zA-Z]{0,9};", "").r ...
- (转) ThinkPHP模板自定义标签使用方法
这篇文章主要介绍了ThinkPHP模板自定义标签使用方法,需要的朋友可以参考下 转之--http://www.jb51.net/article/51584.htm 使用模板标签可以让网站前台开发 ...
- 超全面的JavaWeb笔记day13<JSTL&自定义标签>
1.JSTL标签库(重点) core out set remove url if choose when otherwise forEach fmt formatDate formatNumber 2 ...
- [Java] JSP笔记 - 自定义标签
自定义标签的创建步骤: 自定义标签的四大功能: 自定义标签的类结构: 在 1.0 中呢, 可以将 <body-content> 的值设置为 JSP, 2.0中则不允许在自定义标签体中出现j ...
- JSTL 自定义标签
编写描述标签的tld文件,把这个文件放到web-inf/目录下,才能在jsp页面上调用自定义的标签 package test.yz; import java.io.IOException; impor ...
- JavaWeb学习之JSTL自定义标签库的使用、JSTL自定义函数库(7)
一.自定义标签,步骤 * 确定需求 * <my:date /> 输出当前系统的时间 yyyy-MM-dd hh:mm:ss:SSS * 编写Java类 新建包名:com.yxl.tag,新 ...
- JSTL自定义标签库 (二)
要定义自己的标签,首先写个java类,extends TagSupport 或者 implements Tag ,然后在类体里实现自己想要的方法,或者覆盖父类的方法. 我定义的MyTag代码如下: ...
- JSP2的自定义标签和方法
Jsp2的自定义标签 Jsp2 开发标签库的几个步骤: 开发自定义标签处理类. 建立一个*.tld文件,每个tld文件对应一个标签库,每个标签库可对应多个标签. 在jsp文件中使用自定义标签 空标签 ...
随机推荐
- GitKraken使用教程-基础部分(8)
9. 远程(Remote)仓库 1) 添加远程仓库 一般在本地新建仓库后,需要添加一个远程仓库用于push/pull代码.鼠标移至GitKraken左侧区域的REMOTE栏,点击 该栏右边出现的 按 ...
- 导入的项目eclipse出现乱码的处理方法
如果这样子还是出现乱码无法解决的话,则删掉当前项目重新开始项目.
- 【补充】docker基础学习
docker 基础知识 之前写了一篇docker未授权访问的文章,现在来补充一下docker基础知识,以便更好的学习docker上的漏洞. docker是一款轻量级的虚拟化的产品,它属于层级化的架构. ...
- 远程登陆服务器(window系统)
1,打开命令输入框: 快捷键:win+R 2.输入命令:mstsc 3.输入你的IP地址和用户名(一般为administrator) 4.输入密码
- 一些实用的浏览器meta
标签: 兼容性 meta 通用 <!--声明文档使用的字符编码--> <meta charset='utf-8′> <!--viewport定义--> <me ...
- 基于vue-cli 将webpack3 升级到 webpack4 配置
升级webpack4前 先删除之前的webpack, babel-loader 下载 webpack npm i -D webpack@4 webpack-cli@3 webpack-dev- ...
- jquery 滑块导航菜单
带滑块的导航菜单,鼠标悬浮时,滑块会移动至鼠标位置,离开时,滑块会回到原来的位置,点击菜单之后滑块会停留在被点击菜单位置,等待下一次的鼠标悬浮事件或者点击事件,效果图: 图片效果不行,直接上代码: & ...
- Tomcat启动报Error listenerStart错误 | "beans" 必须匹配 DOCTYPE 根 "null" | java.lang.reflect.MalformedParameterizedTypeException
maven打包发布工程时,发布上去却报错FAIL - Deployed application at context path /ch but context failed to start 在服务器 ...
- Eclipse: 导入项目乱码问题解决
1.编码不对 a.对某文件或某工程更改编码: 鼠标移到工程名或文件名,右键->Properties->Resource->Text file enCoding ->更改编码(G ...
- Oracle 安装教程图解
一.Oracle 下载 注意Oracle分成两个文件,下载完后,将两个文件解压到同一目录下即可. 路径名称中,最好不要出现中文,也不要出现空格等不规则字符. 官方下地址: http://www.ora ...