使用简单标签进行开发
2013-05-30 00:15
295 查看
简单标签执行的流程图
l 控制标签体的执行
1.标签处理器类
2.tld文件中配置
循环执行标签体
1.标签处理器类
控制整个jsp页面的执行
tld的配置文件
l 控制标签体的执行
1.标签处理器类
package com.jstl.simple.tag; import java.io.IOException; import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.JspFragment; import javax.servlet.jsp.tagext.SimpleTagSupport; public classViewBodyContent extends SimpleTagSupport { /* * 控制标签体的执行,通过调用nvoke()方法来进行控制 * 、 * getJspContext().getOut()获取输出流到浏览器 * */ @Override public void doTag() throws JspException,IOException { JspFragmentjf = this.getJspBody(); //jf.invoke(this.getJspContext().getOut());输出标签体的内容 //jf.invoke(null)不输出标签体的内容 jf.invoke(this.getJspContext().getOut()); } }
2.tld文件中配置
<?xml version="1.0"encoding="UTF-8" ?> <taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2eehttp://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" version="2.0"> <description>A tag library exercising SimpleTag handlers.</description> <tlib-version>1.0</tlib-version> <short-name>SimpleTagLibrary</short-name> <uri>http://www.jstl.simpletag</uri> <!-- 通过简单标签来开发 --> <tag> <description>控制标签体是否执行</description> <name>viewBodyContent</name> <tag-class>com.jstl.simple.tag.ViewBodyContent</tag-class> <body-content>scriptless</body-content> </tag> </taglib>
循环执行标签体
1.标签处理器类
package com.jstl.simple.tag; import java.io.IOException; import javax.servlet.jsp.JspException; importjavax.servlet.jsp.tagext.JspFragment; importjavax.servlet.jsp.tagext.SimpleTagSupport; public class LoopBodyContent extendsSimpleTagSupport { /* * 控制标签体的执行,通过调用nvoke()方法来进行控制 * 、 * getJspContext().getOut()获取输出流到浏览器 * */ @Override publicvoid doTag() throws JspException, IOException { JspFragmentjf = this.getJspBody(); for(int i=0;i<5;i++){ //jf.invoke(this.getJspContext().getOut());输出标签体的内容 //jf.invoke(null)不输出标签体的内容 jf.invoke(this.getJspContext().getOut()); } } }
控制整个jsp页面的执行
package com.jstl.simple.tag; import java.io.IOException; import javax.servlet.jsp.JspException; import javax.servlet.jsp.SkipPageException; importjavax.servlet.jsp.tagext.JspFragment; importjavax.servlet.jsp.tagext.SimpleTagSupport; public class JspContetnView extendsSimpleTagSupport { /* * 控制标签体的执行,通过调用nvoke()方法来进行控制 * 、 * getJspContext().getOut()获取输出流到浏览器 * */ @Override publicvoid doTag() throws JspException, IOException { JspFragmentjf = this.getJspBody(); //抛出异常给jsp页面,当翻译为servlet时出现异常就不会继续执行 thrownew SkipPageException(); } }
tld的配置文件
<?xml version="1.0" encoding="UTF-8" ?> <taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" version="2.0"> <description>A tag library exercising SimpleTag handlers.</description> <tlib-version>1.0</tlib-version> <short-name>SimpleTagLibrary</short-name> <uri>http://www.jstl.simpletag</uri> <!-- 通过简单标签来开发 --> <tag> <description>控制标签体是否执行</description> <name>viewBodyContent</name> <tag-class>com.jstl.simple.tag.ViewBodyContent</tag-class> <body-content>scriptless</body-content> </tag> <tag> <description>重复执行</description> <name>loopBodyContent</name> <tag-class>com.jstl.simple.tag.LoopBodyContent</tag-class> <body-content>scriptless</body-content> </tag> <tag> <description>控制jsp页面的执行</description> <name>jspContetnView</name> <tag-class>com.jstl.simple.tag.JspContetnView</tag-class> <body-content>scriptless</body-content> </tag> </taglib>
相关文章推荐
- IPHONE应用开发 - Tab Bar Control(标签栏)使用的简单介绍
- Objective-C ,ios,iphone开发基础:ios数据库(The SQLite Database),使用终端进行简单的数据库操作
- Java基础JDK环境变量设置及使用记事本进行简单的Java程序开发
- 原:使用objectdatasource进行简单三层架构的开发 , 并实现Repeater现删改查
- 使用Myeclipse进行简单webservice开发的示例
- 使用 MEAN 进行全栈开发基础篇——2、弄一个简单的用户管理试试
- iOS开发中大部分App的网络数据交换是基于HTTP协议的。本文将简单介绍在Swift中使用HTTP进行网络请求的几种方法。
- [置顶] Objective-C ,ios,iphone开发基础:ios数据库(The SQLite Database),使用终端进行简单的数据库操作
- Android开发,使用Volley框架进行简单数据交互
- 从0开始简单使用git进行项目开发【SourceTree+Coding.net】
- 在对小程序开发时我们会进行页面的布局。这里我们简单的介绍下flex布局的使用
- 使用objectdatasource结合数据绑定控件进行简单三层架构的开发
- 使用objectdatasource结合数据绑定控件进行简单三层架构的开发
- 《使用wxWidgets进行跨平台程序开发》chap02——一个简单的应用程序
- 转载一个简单的lua展示【COCOS2DX-LUA 脚本开发之一】LUA语言基础在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途!
- 使用objectdatasource结合数据绑定控件进行简单三层架构的开发
- 8月17日 使用ISE进行FPGA开发的最简单步骤视频的说明
- C#实现多级子目录Zip压缩解压实例 NET4.6下的UTC时间转换 [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 asp.net core异步进行新增操作并且需要判断某些字段是否重复的三种解决方案 .NET Core开发日志
- 【FFMpeg视频开发与应用基础】一、使用FFmpeg命令行工具和批处理脚本进行简单的音视频文件编辑
- shiro使用注解式和jsp标签的方式进行开发