JSP简单标签的开发
1. 新建RepeatSampleTag类,代码如下:
package bid.zhazhapan.fims.tag;
import java.io.IOException;
import java.io.StringWriter;
import javax.servlet.jsp.JspContext;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.JspFragment;
import javax.servlet.jsp.tagext.SimpleTagSupport;
public class RepeatSampleTag extends SimpleTagSupport {
private int num;// 定义属性
public void setNum(int num) {
this.num = num;
}
// 覆盖方法,标签的逻辑、迭代
public void doTag() throws JspException, IOException {
// 获得页面上下文对象
JspContext ctx = this.getJspContext();
// 获得封闭标签体对象
JspFragment fragment = this.getJspBody();
if (num > 0) {
// 定义一个字符流,用来接收标签体的内容
StringWriter writer = new StringWriter();
// 将标签体的内容输出到字符流中
fragment.invoke(writer);
// 从字符流中获得数据
String string = writer.getBuffer().toString();
for (int i = 1; i < num + 1; i++) {
ctx.getOut().write(i + "." + string.toUpperCase() + "<br/>");
}
} else {
// invoke()方法传入null值,采用默认的输出流
fragment.invoke(null);
}
}
}
2. 配置xml文件(如何配置xml),部分代码如下:
<javaee:tag>
<javaee:name>repeat</javaee:name>
<javaee:tag-class>bid.zhazhapan.fims.tag.RepeatSampleTag</javaee:tag-class>
<javaee:body-content>scriptless</javaee:body-content>
<javaee:attribute>
<javaee:name>num</javaee:name>
<javaee:required>true</javaee:required>
<javaee:rtexprvalue>true</javaee:rtexprvalue>
</javaee:attribute>
</javaee:tag>
3. 调用标签,部分代码如下:
<mytag:repeat num="5">
hello world
</mytag:repeat>
JSP简单标签的开发的更多相关文章
- jsp简单标签开发(一)
孤傲苍狼 @Override22 public void doTag() throws JspException, IOException {23 //得到代表jsp标签体的JspFragment24 ...
- javaweb学习总结(二十六)——jsp简单标签标签库开发(二)
一.JspFragment类介绍 javax.servlet.jsp.tagext.JspFragment类是在JSP2.0中定义的,它的实例对象代表JSP页面中的一段符合JSP语法规范的JSP片段, ...
- javaweb(二十六)——jsp简单标签标签库开发(二)
一.JspFragment类介绍 javax.servlet.jsp.tagext.JspFragment类是在JSP2.0中定义的,它的实例对象代表JSP页面中的一段符合JSP语法规范的JSP片段, ...
- JSP简单标签开发
一.继承自SimpleTag接口的自定义标签实现类称为简单标签,接口中5个方法 1.setJspContext方法 用于把JSP页面的PageContext对象传递给标签处理器对象 2.setPare ...
- javaweb学习总结(二十七)——jsp简单标签开发案例和打包
一.开发标签库 1.1.开发防盗链标签 1.编写标签处理器类:RefererTag.java 1 package me.gacl.web.simpletag; 2 3 import java.io.I ...
- javaweb学习总结(二十五)——jsp简单标签开发(一)
一.简单标签(SimpleTag) 由于传统标签使用三个标签接口来完成不同的功能,显得过于繁琐,不利于标签技术的推广, SUN公司为降低标签技术的学习难度,在JSP 2.0中定义了一个更为简单.便于编 ...
- JSP简单标签标签库开发
1.定制标签的实现类称为标签处理器,简单标签处理器指实现SimpleTag接口的类,如下图的SimpleTagSupport类,该类为SimpleTag接口的默认实现类. 注:不要直接实现Simple ...
- jsp 简单标签开发
实现simpleTag接口的标签通常称为是简单标签,简单标签一共定义了5个方法 setJspContext方法 setParent方法 getParent方法 setJspBody方法 doTag方法 ...
- JSP简单标签带属性开发
1.开发带属性的标签,标签处理器类中属性要有相应setter方法,符合javaBean规范 2.tld文件中进行相应属性标签配置 属性配置相关说明如下图 3.简单标签带属性的例子 1).通过设置标签属 ...
随机推荐
- NEST 字符串sort
text字符串sort会先分词.可先建立filed字段.并设置为keyword mapping public void Mapping() { var response = client.IndexE ...
- JDK的安装(mac)
1.第一步安装brew 教学网址 2.用brew安装jdk. brew update brew cask install java(未翻墙时长很长,大概猴年马月两个小时) 安装完成后就可以执行JAVA ...
- 在编译内核的最后阶段出现sdhci_esdhc_imx_pdata未定义的错误
遇到下面这种错误 在网上查找资料后,发现一篇好文,提出了良好的找错误的策略: (1)利用grep命令查看该变量在何处使用: (2)查看相应的头文件是否在Kconfig中被定义且在make menuco ...
- SHELL脚本编程的条件测试
SHELL脚本编程的条件测试 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.条件测试概述 判断某需求是否满足,需要由测试机制来实现 专用的测试表达式需要由测试命令辅助完成测试过 ...
- Python 中 plt 画柱状图和折线图
1. 背景 Python在一些数据可视化的过程中需要使用 plt 函数画柱状图和折线图. 2. 导入 import matplotlib.pyplot as plt 3. 柱状图 array= np. ...
- C实现除法
C实现除法 来源 Leetcode上的一个题,做完后感觉很有意义,因而记录. 实际上自己也查阅了不少的实现除法的方式,最后还是感觉这个方法是最好的,没有别的原因,就是快. 需要注意的一些点 正整数之间 ...
- ISCC之msc_无法运行的exe
打开hxd,里面老长一串base64 解码试了一下,解出来是png文件头,但是图片有错误 百度了一下,PNG文件头是89 50 4E 47 0D 0A 1A 0A 再回去看 改成0A了事, 出来一张二 ...
- Windows下通过SSH无密码连接Linux服务器
一.配置环境 1.本机系统:Windows 10 Pro(64位) 2.服务器:CentOS 6.10(64位) 3.SSH连接软件:SecureCRT 二.配置SSH无密码登录步骤 1.在个人PC机 ...
- minhash pyspark 源码分析——hash join table是关键
从下面分析可以看出,是先做了hash计算,然后使用hash join table来讲hash值相等的数据合并在一起.然后再使用udf计算距离,最后再filter出满足阈值的数据: 参考:https:/ ...
- Dynamics 365 on-premises 安装
安装Dynamics 365环境配置要求: 系统版本:Windows Server 2016 SQL 版本: Microsoft SQL Server 2016 SP2 Dynamics 365 版本 ...