Quantcast
Channel: CSDN博客推荐文章
Viewing all articles
Browse latest Browse all 35570

自定义标签简单实例---入门

$
0
0

结构如下:

              

①创建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 查看评论

Viewing all articles
Browse latest Browse all 35570

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>