jsp自定义标签
来源:互联网 发布:linux firewall 编辑:程序博客网 时间:2024/05/17 09:03
自定义标签主要用于移除页面的java代码。
使用自定义标签分成两个步骤:
1、编写一个实现Tag接口的java类,把页面代码移到这个java类中(标签处理器)
- package tab.ctrl.alt.tag;
- import java.io.IOException;
- import javax.management.RuntimeErrorException;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.jsp.JspException;
- import javax.servlet.jsp.JspWriter;
- import javax.servlet.jsp.tagext.TagSupport;
- public class ViewTag extends TagSupport {
- /**
- *
- */
- private static final long serialVersionUID = 1L;
- @Override
- public int doStartTag() throws JspException {
- HttpServletRequest request = (HttpServletRequest)this.pageContext.getRequest();
- JspWriter writer = this.pageContext.getOut();
- String ip = request.getRemoteAddr();
- try {
- writer.print(ip);
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- throw new RuntimeException(e);
- }
- return super.doStartTag();
- }
- }
2、编写标签描述符(tld一个标签。)文件,在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>itdos</short-name>
- <uri>http://itdos.net</uri>
- <tag>
- <description>view</description>
- <name>helloWorld</name>
- <tag-class>tab.ctrl.alt.tag.ViewTag</tag-class>
- <body-content>empty</body-content>
- </tag>
- </taglib>
3、jsp
- <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
- <%@taglib uri="http://itdos.net" prefix="itdos" %>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <title>My JSP '1.jsp' starting page</title>
- </head>
- <body>
- <itdos:helloWorld/>
- </body>
- </html>
自定义标签执行过程
1、遇到自定义标签。先实例对应的标签处理器类。
2、调用setPageContext方法,把页面的pagecontext对象传递给标签处理器类
3、看标签是否有父标签,如果有父标签把父标签作为一个对象,调用setParent方法传递给标签处理器类,如果没有传递个null
4、完成标签初始化工作后,服务器开始执行标签。遇到标签的开始标签调用dostart方法
5、如果标签有标签体,服务器一般会执行标签体
6、服务器遇到结束标签,执行结束doend方法
7、整个标签执行完后,服务器一般会调用release()方法,释放变迁工作时占用的资源
- JSP----自定义标签---简单标签
- jsp自定义标签-----嵌套标签
- JSP标签编程----自定义标签
- JSP 自定义标签:简单标签
- JSP标签-JSTL-自定义标签
- JSP自定义标签-Select标签
- jsp 自定义标签---标签文件
- JSP自定义标签
- JSP自定义标签学习心得
- JSP自定义标签试验
- JSP 自定义标签库
- 自定义JSP标签
- 创建JSP自定义标签
- 关于自定义标签 jsp
- 关于自定义标签 jsp
- jsp 自定义分页标签
- JSP自定义标签简介
- JSP自定义标签例子
- 李彦宏在北大2008本科生毕业典礼上的发言(图)
- DataGridView中限制某列只能输入数字
- OpenGL 3D 超级宝典学习笔记
- String、Pattern、Matcher——java正则
- (转)FFMpeg中apiexample.c例子分析——解码分析
- jsp自定义标签
- poj 3268 Silver Cow Party
- MySQL Migration Tool 乱码解决
- 日本手掌扫描识别ATM机原理分析
- 编程规范一
- 通过gitolite架设git仓库
- 编程规范二
- 云的成功案例,创业公司的希望
- PL/SQL过程和函数