jsp的自定义标签
来源:互联网 发布:淘宝飞鱼运动卖假货 编辑:程序博客网 时间:2024/05/02 01:24
自定义标签库是一种非常优秀的表现层组件技术。通过使用自定义标签库,可以在简单的标签中封装复杂的功能。
目前在工作中,发现他们的项目中使用了Jsp的自定义标签,查了一些资料,整理了篇对初学者能够快速上手的文章。
1.为什么使用自定义标签呢?
主要是在HTML页面中插入JSP脚本有如下几个坏处:
JSP脚本非常丑陋,难以阅读;JSP脚本和HTML代码混杂,维护成本高;HTML页面中嵌入JSP脚本,导致美工人员难以参与开发。
出于以上几点考虑,我们需要一种可以在页面中使用的标签,这种标签具有和HTML标签类似的语法,但有可能完成JSP脚本的功能,这种标签就是JSP自定义标签。
2.开发标签库的几个步骤:
一、开发自定义标签的处理类
在JSP使用一个简单的标签时,底层实际上由标签处理类提供支持,从而可以通过简单的标签来封装复杂的功能。
自定义标签应该继承一个父类:javax.servlet.jsp.tagext.TagSupport;
如果标签类包含属性,则每个属性都有对应的getter和setter方法。
重写doTag()方法,这个方法负责生成页面内容。
下面这个是一个实例:先看一下效果图:
public class PageHeadTagThree extends TagSupport { private Page<T> page; private Long funmenuId;// 功能菜单IDpublic Page<T> getPage() {return page;}public void setPage(Page<T> page) {this.page = page;}public Long getFunmenuId() {return funmenuId;}public void setFunmenuId(Long funmenuId) {this.funmenuId = funmenuId;}public int doStartTag() {JspWriter out = pageContext.getOut();StringBuffer result = new StringBuffer();result.append("</div><div class=\"btnbox\">"+ "<div class=\"tab-list\">"+ getFunOperatesNew(funmenuId)+ "</div><div class=\"toolbar\"><div id=\"macstyle\" class=\"select-text\">"+ "<select id=\"pageNum\" name=\"pageNum\" onchange=\"flippage(this.value);\">"+ options() + "</select></div>");if (page.isHasPre())result.append("<a href=\"javascript:flippage('"+ (page.getPageNo() - 1)+ "')\" class=\"prevbtn yuan\"><span></span></a>");elseresult.append("<a class=\"prevbtn_no yuan\"><span></span></a>");if (page.isHasNext())result.append("<a href=\"javascript:flippage('"+ (page.getPageNo() + 1)}
二、建立一个*.tld文件,每个*.tld文件对应一个标签库,每个标签库可包含多个标签
TLD是Tab Library Definition的缩写,即标签库的定义。每个TLD文件对应一个标签库,一个标签库中包含多个标签。TLD文件也称为标签库定义文件。如下:
<taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" version="2.0"> <description>A tag library exercising SimpleTag handlers.</description> <tlib-version>1.0</tlib-version> <short-name>SimpleTagLibrary</short-name> <uri>/SimpleTagLibrary</uri> <tag><name>PageHeadTagThree</name><tagclass>ICT.tags.theme.PageHeadTagThree</tagclass><info></info><attribute><name>page</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>funmenuId</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute></tag></taglib>
标签库定义文件的根元素是taglib,它可以包含多个tag子元素,每个tag子元素都定义一个标签。
taglib有三个子元素:1.tlib-version,指定该标签库实现的版本,这是一个作为标识的内部版本号,对程序没有太大的作用;2.short-name,该标签库的默认短名;3.uri,这个属性非常重要,它指定标签库的URI,JSP页面中使用标签库就是根据该URI属性来定位标签库的。
三、在JSP文件中使用自定义标签
在JSP页面中确定指定的标签需要几点:
1标签库URI,确定使用哪个标签库
2标签名:确定使用哪个标签
3导入标签库:使用taglib编译指令导入标签库,就是将标签库和指定前缀关联起来
4使用标签:在JSP页面中使用自定义标签。
<%@ taglib prefix="aof" uri="/WEB-INF/tld/aofsoft.tld"%>
<div style="height:1px"> <aof:PageHeadTagThree funmenuId="${funmenuId}" page="${page}"/></div>
在日积月累中,我们应该不断地封装实用的标签,这样能提高开发效率。
- JSP的自定义标签
- JSP的自定义标签
- jsp的自定义标签
- jsp的自定义标签
- jsp的自定义标签
- 使用自定义的jsp标签
- JSP自定义标签的实现
- 自定义jsp标签的步骤
- 自定义jsp标签的学习
- jsp自定义标签的学习
- 简单的Jsp自定义标签
- jsp的自定义标签补充
- jsp自定义标签的例子
- jsp自定义标签的使用
- jsp的自定义标签库
- JSP自定义标签的使用说明
- jsp 自定义标签的编写
- jsp的自定义标签例子
- 上传excel文件
- linux sysfs下创建文件
- 验证码图片生成以及页面取得
- Stata编程运用-运用递归函数列示文件夹内所有文件
- 两种方式实现类似qq搜索的切换
- jsp的自定义标签
- NetRouter开发板---基于7620a开源openwrt开发板系列教程(一)
- oracle多表查询
- 地图两点之间获取距离公式
- LA 4080 warfare And Logistics (Dijkstra)
- Qt多个信号连接到一个槽,在槽中识别信号的发送者方法
- Cocos2d-x三国ACT手游《热血斩将》完整源码下载
- Combox默认项设置的问题及解决方案
- eth_mac_address没找到