自定义标签的原因
在JSP中,如果一个标签可以代替一个for循环的功能,这样的页面是不是看起来更简洁呢?因为,html页面中不再有java代码了。这就导致了自定义标签的产生。
自定义标签的步骤
开发自定标签的处理类
建立一个.tld文件,每个.tld文件对应一个标签库,每个标签库可以包含多个标签
在jsp中使用自定义的标签
开发自定义的标签处理类
自定义标签处理类有以下几点要求:
类必须继承SimpleTagSupport
重写doTag()方法,这个方法负责生成页面内容
-
如果类中有属性,那么必须有对应的getter和setter方法 下面开发一个简单地标签处理类
public class HelloTag extends SimpleTagSupport{
@Override
public void doTag() throws JspException,IOException {
getJspContext().getOut().write("hello world"+new Date());
}
}
建立*.tld文件
这个文件的存放位置是WEB-INF目录中任意路径下,文件示例如下所示:
A tag library exercising SimpleTag handlers.
1.0
MyTagLibrary
http://com.zuobiao.zhang/mytaglib
Outputs Hello,World
helloWorld
com.zuobiao.zhang.tag.HelloTag
empty
关于tag元素下常用子元素的说明:
body-content:这个元素很重要,定义了标签体内容,值有如下几个:
tagdependent:指定标签处理类自己负责处理标签体
empty:指定该标签只能作为空标签使用
scriptless:指定该标签的标签体可以是静态html元素、表达式语言,但不允许出现jsp脚本
JSP:指定该标签的标签体可以使用JSP脚本
dynamic-attributes:指定该标签是否支持动态属性
使用标签库
使用标签库主要分为以下两步:
使用taglib编译指令导入标签库
-
在JSP页面中使用自定义标签 taglib语法如下所示:
<%@ taglib uri="http://com.zuobiao.zhang/mytaglib" prefix="mytag"%>
使用标签的语法格式如下所示:
<%-- 如果没有标签体,可以使用这样的 --%>
下面是使用helloworld标签的代码:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://com.zuobiao.zhang/mytaglib" prefix="mytag"%>
自定义标签的使用
下一节会介绍带属性的标签
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|