Jsp简单标签库开发
来源:互联网 发布:微信三级分销系统 源码 编辑:程序博客网 时间:2024/06/05 14:17
Jsp简单标签库开发,是指从Jsp2.0开始,使用SimpleTag接口所开发的标签。大大简化了标签开发的工作。
1、Jsp页面
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%--引用标签库 --%><%@taglib uri="http://localhost:8080/st" prefix="st" %>//2、控制Jsp页面是否执行<br />//写demo时,共用一个标签类冲突,注释了<br /><%--<st:ctPage/>--%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>JSP简单标签开发</title></head><body><br /><br /><br />//1、控制标签内包含的内容是否执行[start]<br />//写demo时,共用一个标签类冲突,注释了<br /><%--<st:viewContent>看我有没有显示<br /></st:viewContent>--%>//1、控制标签内包含的内容是否执行[end]<br /><br /><br /><br />//3、循环输出标签内容[start]<br />//写demo时,共用一个标签类冲突,注释了<br /><%--<st:forContent>重复输出5次<br /></st:forContent>--%>//3、循环输出标签内容[end]<br /><br /><br /><br />//4、操作标签内容[start]<br /><st:opContent>Hello World!</st:opContent><br />//3、操作标签内容[end]<br /><br /><br /><br /></body></html>
2、标签实现类
import java.io.IOException;import java.io.StringWriter;import javax.servlet.jsp.JspException;import javax.servlet.jsp.SkipPageException;import javax.servlet.jsp.tagext.JspFragment;import javax.servlet.jsp.tagext.SimpleTagSupport;public class MySimpleTag extends SimpleTagSupport{ @Override public void doTag() throws JspException, IOException { //doTag1(); //doTag2(); //doTag3(); //1、获取Jsp标签内容所对应的JspFragment对象 JspFragment jf= this.getJspBody(); //2、实例化一个StringWriter对象,并将标签内容写入到此对象中 StringWriter sw = new StringWriter(); jf.invoke(sw); //3、将获取的标签内容 编辑后输出到Jsp页面 String content = sw.toString(); this.getJspContext().getOut().write(content + "@Yes!"); } private void doTag1() throws JspException, IOException { /* * 1、是否执行标签体内容 * 如果不执行标签内容 则将jf.invoke(null)注释即可 */ JspFragment jf = this.getJspBody(); jf.invoke(null); //null默认写到Jsp页面,也可以写成jf.invoke(this.getJspContext().getOut()); } private void doTag2() throws SkipPageException { /* * 2、是否执行Jsp页面内容 * 如果不执行Jsp页面 则抛出SkipPageException异常 * 如果不抛出异常则执行Jsp页面内容 */ //throw new SkipPageException(); } private void doTag3() throws JspException, IOException { /* * 3、循环输出标签内容 */ JspFragment jf = this.getJspBody(); for(int i = 0; i < 5; i++) { jf.invoke(null); } }}
3、tld文件
<?xml version="1.0" encoding="utf-8" ?><!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/j2ee/dtd/web-jsptaglibrary_1_2.dtd"><taglib> <tlib-version>1.0</tlib-version> <jsp-version>1.2</jsp-version> <short-name>st</short-name> <uri>http://localhost:8080/st</uri> <tag> <name>viewContent</name> <tag-class>com.xuhu.web.tag.MySimpleTag</tag-class> <description>控制标签体是否执行</description> <!-- 注意此处和传统标签的JSP不同,简单标签需要写成scriptless --> <body-content>scriptless</body-content> </tag> <tag> <name>ctPage</name> <tag-class>com.xuhu.web.tag.MySimpleTag</tag-class> <description>控制Jsp页面是否执行</description> <!-- 注意此处无标签体 --> <body-content>empty</body-content> </tag> <tag> <name>forContent</name> <tag-class>com.xuhu.web.tag.MySimpleTag</tag-class> <description>循环输出标签内容</description> <!-- 注意此处和传统标签的JSP不同,简单标签需要写成scriptless --> <body-content>scriptless</body-content> </tag> <tag> <name>opContent</name> <tag-class>com.xuhu.web.tag.MySimpleTag</tag-class> <description>操作标签内容</description> <!-- 注意此处和传统标签的JSP不同,简单标签需要写成scriptless --> <body-content>scriptless</body-content> </tag> </taglib>
0 0
- Jsp简单标签库开发
- JSP简单标签开发
- javaweb学习总结—jsp简单标签标签库开发
- JSP简单标签的开发
- JSP简单标签开发案例和打包
- javaweb学习总结(二十六)——jsp简单标签标签库开发(二)
- javaweb学习总结(二十六)——jsp简单标签标签库开发(二)
- javaweb学习总结(二十六)——jsp简单标签标签库开发(二)
- JavaWeb总结二十六、jsp简单标签标签库开发(二)
- javaweb学习总结(二十六)——jsp简单标签标签库开发(二)
- JavaWeb学习总结(二十六)——jsp简单标签标签库开发(二)
- java web学习总结26:jsp简单标签标签库开发2
- jsp自定义标签库开发
- Jsp传统标签库开发
- JSP----自定义标签---简单标签
- JSP 自定义标签:简单标签
- JSP简单标签
- jsp 简单标签
- 杭电1950 Bridging signals(二分求最长上升子序列)
- uva 10985(最短路径)
- 彻底弄懂css中单位px和em的区别
- UVA -12569 (BFS+状态压缩)
- const 的常用方法
- Jsp简单标签库开发
- 设计模式之(Adapter)适配器模式
- UIView 和 CALayer的选择
- 简单排序---冒泡,简单选择,直接插入
- 第十三周项目5-字符串操作:字符串复制
- sparkstandalon配置
- golang: 详解interface和nil
- cocos2d-x游戏开发demo(1)
- Shell Grep命令的使用