码迷,mamicode.com
首页 > 其他好文 > 详细

自定义标签的写法

时间:2015-10-28 19:39:31      阅读:303      评论:0      收藏:0      [点我收藏+]

标签:自定义标签

例如我们在一个html文档中写一个自定义的标签

<%@taglib uri="" prefix="c1"%>    //uri是一个命名空间,perfix是一个前缀


在html的正文中我们写上 <c1: msg="" qty="">     //c1就是这个标签的标签名,msg和qty是属性


我们要定义这个标签就要先些上这个标签的类,这个类要继承SimpleTagSupport

public class HelloTag extends SimpleTagSupport{
    //写上属性,要与标签中的属性一一对应,而且一定要写上set方法
    private String msg;
    private int qty;
    public void setMsg(Strig msg){
        this msg=msg;
    }
    public void setQty(int qty){
        this qty=qty;
    }
    //按住右键找到source 找到override 找到dotag方法,将其覆盖
    public void doTag() throws JspException, IOException {
       PageContext page=(PageContext)getJspContext();//得pageContext得天下
	JspWriter out=page.getOut();//从而获得输出流
	//下面是具体业务逻辑
	for(int i=0;i<100;i++){
		out.println("hello world");
	}
		
	}
    }
}

最后写个描述文件(相当与在自定义的标签与类定义之间的一个桥梁的作用)

在WEB-INF下建一个mytag.tld的描述性文件(可以参照c.tld)

<?xml?>描述文件

<taglib ssssss>

<tlib-version>1.1

<short-name>c1     //这就是个前缀

<uri>test          //命名空间

<tag>

<name>hello</name>

<tag-class>tag.HelloTag</tag-class>

<bady-content>empty</bady-content>

//有三个值empty 没有标签体;scriptless 可以有标签体,但是标签体的内容不能有java代码(《% %》 //《%= %》《%! %》);jsp 有标签体,可以写java代码,但是只有复杂有,我们学的简单没有这个了

<attribute>

<name>

<required>true</required>//表示必须要赋值

<rtexprvalue>true    //表示可以动态赋值,可以用el表达式来赋值  

</attribute>

</tag>

</taglib>



自定义标签的总结:

1,要写上一个自定义标签的类

2,要写一个在WEB-INF下写一个对这个标签的描述性文件

3,就可以在html中使用了

本文出自 “大数据之路” 博客,请务必保留此出处http://10732666.blog.51cto.com/10722666/1707343

自定义标签的写法

标签:自定义标签

原文地址:http://10732666.blog.51cto.com/10722666/1707343

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!