JSP 简单标签extends SimpleTagSupport
2024-09-04 09:16:13
1.控制JSP页面某一部分内容是否执行
public void doTag()
this.getJspBody().invoke(null);执行
空白,不执行
2.控制JSP页面内容重复执行
package cn.itcast.web.simpletag; import java.io.IOException; import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.JspFragment;
import javax.servlet.jsp.tagext.SimpleTagSupport; public class SimpleTagDemo2 extends SimpleTagSupport { @Override
public void doTag() throws JspException, IOException {
// TODO Auto-generated method stub
JspFragment jf = this.getJspBody(); for (int i = 0; i < 10; i++) {
jf.invoke(null);
}
} }
3.修改JSP页面内容输出
package cn.itcast.web.simpletag; 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 SimpleTagDemo3 extends SimpleTagSupport { @Override
public void doTag() throws JspException, IOException {
// TODO Auto-generated method stub JspFragment jf = this.getJspBody();
StringWriter sw = new StringWriter();
jf.invoke(sw); String content = sw.getBuffer().toString(); content = content.toUpperCase(); JspContext pageContent = this.getJspContext();
pageContent.getOut().write(content);
} }
4.控制标签余下的JSP不执行
package cn.itcast.web.simpletag; import java.io.IOException; import javax.servlet.jsp.JspException;
import javax.servlet.jsp.SkipPageException;
import javax.servlet.jsp.tagext.SimpleTagSupport; public class SimpleTagDemo4 extends SimpleTagSupport { @Override
public void doTag() throws JspException, IOException {
// TODO Auto-generated method stub
throw new SkipPageException();
} }
开发带属性的标签
要想让一个自定义标签具有属性,通常需要完成两个任务:
在标签处理器中编写每个属性对应的setter方法
package cn.itcast.web.simpletag; import java.io.IOException; import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.SimpleTagSupport; public class SimpleTagDemo5 extends SimpleTagSupport { private int count; public void setCount(int count) {
this.count = count;
} @Override
public void doTag() throws JspException, IOException {
// TODO Auto-generated method stub for (int i = 0; i < count; i++) {
this.getJspBody().invoke(null);
}
} }
在tld文件中描述标签的属性
<tag>
<name>demo5</name>
<tag-class>cn.itcast.web.simpletag.SimpleTagDemo5</tag-class>
<body-content>scriptless</body-content>
<attribute>
<name>count</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
最新文章
- vs中使用git
- App提交Appstore审核流程
- 百度UEditor基本使用
- [转载]SVN如何恢复已删除文件或文件夹
- 利用百度语音API进行语音识别。
- css弹性布局
- Genymotion加速下载虚拟镜像速度慢失败Connection timeout
- linux下修改系统时间
- 【OpenCV】全景拼接
- JavaScript的作用域和提升机制
- PHP原始的数据库操作
- javascript XMLHttpRequest对象全面剖析
- Linux驱动编写(块设备驱动代码)
- linux BC命令行计算器
- JS实现等比例缩放图片
- js运算符单竖杠“|”的作用
- Codeforces 869C The Intriguing Obsession
- 老司机教你在windows不用软件隐藏重要文件
- hbase的常用的shell命令&;hbase的DDL操作&;hbase的DML操作
- 15.selenium_case01
热门文章
- LoadRunner(1)
- java8学习之Optional深入详解
- sql 实现取表中相同id时间最大的一行 利用distinct on
- 微软Blazor组件发布,DevExpress v19.1.8中可用:Charts新功能
- SpringCloud之网关 Gateway(五)
- idea设置数据库连接所有项目都能看到
- Vue:选中商品规格改变字体和边框颜色(默认选中第一种规格)
- 【CUDA 基础】0.0 腾讯云CUDA环境搭建
- maven项目启动找不到org.springframework.web.context.ContextLoaderListener
- 2019.12.12网页设计大赛&;2019.12.13程序设计大赛观后感