JSP 自定义标签:简单标签

来源:互联网 发布:淘宝买家贷款5万怎么贷 编辑:程序博客网 时间:2024/05/01 09:52

如题:

首先,标签属于JSP规范,为了替换JSP中复杂的JAVA代码。形如:<pre:func />  或 <pre:func>content</pre:func>

如何定义一个标签呢?

一、自定义一个类,实现SimpleTag接口(需要实现里面的所有方法,但是我们常用的只有一个doTag方法) 或者 继承SimpleTagSupport抽象类(已将SimpleTag接口中的所有方法都实现,用的时候只须我们重写doTag方法)  。 所以我们通常都是继承此抽象方法。

继承了此方法之后,我们重写doTag方法之后,一个标签类就定义完成了。

二、下面是配置标签

在WEB-INF目录下建立 一个.tld 后缀名的文件,添加如下声明:

<?xml xmlns?>   这里具体的属性直接copy 就可以了,我也没记住

<taglib xmlns="">

<tlib-version>1.0</tlib-version>  //这是标签的版本号,自定

<short-name>pre</short-name>  //这是推荐的前缀,随意

<uri>http://taglib.timelikesong.com/taglib</uri>  //uri  唯一即可,后面tomcat会根据此uri 查找此标签库

<tag>

<name>func</name>  //使用标签时的名称

<tag-class>com.timelikesong.taglib.MySimpleTag</tag-class>  //对应标签类的全名称

<body-content>empty | scriptless | JSP | tagdependent</body-content>

<!-- 以下<attribute> 元素 在标签内有属性时才定义-->

<attribute>

<name>count</name>  //属性名

<required>true</required>  //是否必须填写

<rtexprvalue>true</rtexprvalue>  // 是否支持表达式

</attribute>

</tag>

</taglib>


三、引入自定义标签

在JSP 中添加:<%taglib uri="http://taglib.timelikesong.com/taglib" prefix="pre" %>


四、在JSP 使用自定义标签

<pre:func count="5">

Content

</pre:func>


注:这里没有doTag() 的实现代码 。

自定义标签可实现简单的功能:

a、控制标签开始与结束之间的内容是否显示

b、控制结束标签后的内容是否显示

c、控制开始与结束标签之间内容显示次数

d、还可以实现逻辑处理,if , else,   

e、可实现 for 循环 (包括增强型的for循环)

0 0
原创粉丝点击