结构如下:
①创建page.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/dtd/web-jsptaglibrary_1_2.dtd"> <taglib> <!--定义标签版本库 --> <tlib-version>1.0</tlib-version> <!--定义jsp版本库 --> <jsp-version>1.2</jsp-version> <short-name>Cms Tag</short-name> <uri>http://www.gdie.page</uri> <description><!--标签描述- --> A simple appbase tag library </description> <tag> <name>page</name><!--tag的名字 --> <tag-class>com.cms.common.tag.PageTag</tag-class><!--tag对应的java类的名字 --> <body-content>empty</body-content> <!--关于body-content 有三个值可选;empty:标签体必须为空;jsp:标签由其他jsp元素组成比如标签中含有<%=attributeName%>的jsp元素,那么此时body-content的值就是实际attributeName传入的值;tagdependent:有标签解释不带jsp转换(这个深入的含义不太了解) --> <attribute><!---这里表示的是这个tag的一个参数 --> <name>cmsform</name><!--这个参数的名字 --> <required>true</required><!--是否是必填选项 --> <rtexprvalue>true</rtexprvalue><!--这个参数的值是否可以写入,换句话说 就是这个参数是否可以动态赋值 --> </attribute> </tag> </taglib>
②PageTag.java
package com.cms.common.tag; import javax.servlet.jsp.JspException; import javax.servlet.jsp.JspWriter; import javax.servlet.jsp.tagext.TagSupport; public class PageTag extends TagSupport { private static final long serialVersionUID = 1L; private String cmsform = ""; public String getCmsform() { return cmsform; } public void setCmsform(String cmsform) { this.cmsform = cmsform; } public int doStartTag() { return super.SKIP_BODY; } public int doEndTag() throws JspException { JspWriter writer=pageContext.getOut(); try { writer.print("这是我的标签示例<br/>"+"cmsform :"+this.cmsform); } catch (Exception e) { e.printStackTrace(); } return super.EVAL_PAGE; } }
③web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>springmvc3</display-name> <jsp-config> <taglib> <taglib-uri>http://www.gdie.page</taglib-uri> <taglib-location>/tld/page.tld</taglib-location> </taglib> </jsp-config> <welcome-file-list> <welcome-file>/index.jsp</welcome-file> </welcome-file-list> </web-app>
④index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="jason" uri="http://www.gdie.page" %> <!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>Insert title here</title> </head> <body> <jason:page cmsform="success..."/> </body> </html>
运行效果如下:
作者:zhongqian123 发表于2013-4-8 23:59:00 原文链接
阅读:113 评论:0 查看评论