心得11--jsp自定义标签案例分析
来源:互联网 发布:人工智能程序设计 编辑:程序博客网 时间:2024/05/17 01:47
1、演示传统自定义标签(jsp2.0以前的)
使用自定义标签控制页面内容(标签体)是否输出,利用doStartTag()的返回值控制
return this.SKIP_BODY; //忽略标签体
return this.EVAL_BODY_INCLUDE; //执行标签体
控制整个jsp的输出利用doEndTag()的返回值控制
return this.SKIP_PAGE; //跳过页面标签后余下的jsp代码
return this.EVAL_PAGE; //继续执行余下jsp代码
自定义标签实现内容(标签体)循环输出利用Tag子接口Iteration中定义的doAfterBody()和返回值EVAL_BODY_AGAIN,SKIP_BODY实现
先覆盖doStartTag()方法,返回EVAL_BODY_INCLUDE
覆盖doAfterBody()
public int doAfterBody() throws JspException {times++;int result = this.EVAL_BODY_AGAIN;if(times>4){result = this.SKIP_BODY;}return result;}自定义标签修改内容(标签体)EVAL_BODY_BUFFERED;标签处理类:继承BodyTagSupport覆盖doStartTag(),并返回EVAL_BODY_BUFFERED;覆盖doEndTag()public int doEndTag() throws JspException {BodyContent bc = this.getBodyContent();String c = bc.getString();c = c.toUpperCase();JspWriter out = this.pageContext.getOut();try {out.write(c);} catch (IOException e) {throw new RuntimeException(e);}return this.EVAL_PAGE;}2、需求:实现一个自定义标签功能:判断一个YYYY-MM-DD格式的日期修改为下面格式输出年:YYYY月:MM日:DD 分析:自定义标签处理类(Demo5.java)package com.csdn.web.tag;import java.io.IOException;import javax.servlet.jsp.JspException;import javax.servlet.jsp.JspWriter;import javax.servlet.jsp.tagext.BodyContent;import javax.servlet.jsp.tagext.BodyTagSupport;import javax.servlet.jsp.tagext.Tag;public class Demo5 extends BodyTagSupport {@Overridepublic int doEndTag() throws JspException {BodyContent bc = this.getBodyContent();String b = bc.getString();String[] data = b.split("-");JspWriter out = this.pageContext.getOut();try {out.println("年:"+data[0]+"<br>");out.println("月:"+data[1]+"<br>");out.println("日:"+data[2]+"<br>");} catch (IOException e) {e.printStackTrace();}return Tag.EVAL_PAGE;}}要转换的显示时间6.jsp<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ taglib uri="/csdn" prefix="csdn"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>转换日期格式并输出</title> </head> <body> <csdn:demo5>2012-11-17</csdn:demo5> </body></html>对应的标签模版csdn.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"><tlib-version>1.0</tlib-version><short-name>csdn</short-name><uri>/csdn</uri><tag><name>demo5</name><tag-class>com.csdn.web.tag.Demo5</tag-class><body-content>JSP</body-content></tag></taglib>
- 心得11--jsp自定义标签案例分析
- 心得13--jsp简单标签案例分析.doc
- 心得16--JSP标准标签库介绍及案例分析
- 心得10--jsp自定义标签介绍
- 分析自定义数据分页标签的案例
- 三个标签案例:帮你深入学习JSP自定义标签
- 三个标签案例:帮你深入学习JSP自定义标签
- jsp自定义标签--->张国亮总结心得第四季
- 分析自定义数据分页标签的案例,上传分析过程。
- JSP标签使用案例
- 自定义标签的案例
- 自定义标签的案例
- 自定义标签案例
- 深入分析JavaWeb Item25 -- 自定义标签开发案例和打包自定义标签库
- 深入分析JavaWeb 25 -- 自定义标签开发案例和打包自定义标签库
- 深入分析JavaWeb Item23 -- jsp自定义标签开发入门
- JSP自定义标签rtexprvalue属性用法实例分析
- 深入分析JavaWeb 23 -- jsp自定义标签开发入门
- 如何提高代码质量
- SAFEARRAY使用
- 导致代码重复的原因
- 如何在可执行程序中嵌入资源文件(linux环境)
- 关注点分离
- 心得11--jsp自定义标签案例分析
- 从标准库函数strtod理解指针
- 关于如何破解viemu系列软件
- CityEngine系统支持以及软硬件要求
- linux内核中断 ----- tasklet 分析 .
- 心得10--jsp自定义标签介绍
- C/C++ Linux 程序员必须了解的 10 个工具
- JQuery和JS实现奇偶行不同背景颜色
- implements CBase{ @Override public void say_sth()