Java中自定义标签的使用
作者:qlier || 时间:2011-12-20 10:15:30 || 评论:0 || 围观:171
一般我们说自定义标签是指JSP自定义标签。自定义标签在功能上逻辑上与javaBean 类似,都封装Java 代码。自定义标签是可重用的组件代码,并且允许开发人员为复杂的操作提供逻辑名称。JSP开发人员使用标签库创建标签.标签库是按照功能或实现进行分组的自定义标签的集合。之前看过别人自己写的标签,用自定义标签实现分页!时间等等,觉得很好用,今天就写了个自定义标签的小案例!里面有一个是不带属性的日期标签,和一个带属性的文字标签,下面的代码我就只贴出日期标签,文字标签我就不贴出来了,如果你想看完整的代码可以去资源里面下载,我在资源里面放我的这个自定义标签的案例:“Java中自定义标签”,你可以下载来参考参考,如果有什么不明白可以留言!下面就是我的一部分代码了!
1.实现类,这个是自定义日期标签的实现类,这个类要继承自TagSupport类,并且要实现父类中的一个方法doStartTag(),在这个方法中我们可以定义我们需要的效果,这个日期标签是不带属性的,如果你需要标签中带属性的那种,可以自己设置但是继承的父类就不是这个类了!而是另外一个类BodyTagSupport而且实现的方法也不一样了变成了doEndTag()方法,完整案例在资源里面可以下载,
01 public class DateTags extends TagSupport { 02 03 private static final long serialVersionUID = 1L; 04 05 @Override 06 public int doStartTag() throws JspException { 07 //格式化日期 08 SimpleDateFormat sdf = new 09 SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss--做梦也很累"); 10 11 String time = sdf.format(new Date()); 12 13 //用于在页面上的显示 14 JspWriter out = super.pageContext.getOut(); 15 16 try { 17 //在页面上显示 18 out.print(time); 19 } catch (IOException e) { 20 e.printStackTrace(); 21 } 22 23 return SKIP_BODY; 24 } 25 } |
做梦也很累 |
2.这个是自定义标签的配置文件,
01 <?xml version="1.0" encoding="UTF-8"?> 02 <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, 03 Inc.//DTD JSP Tag Library 1.2//EN" 04 "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd"> 05 06 <!-- TLD文件是可以新建的,里面的属性是在创建的时候选择的 --> 07 <taglib> 08 <tlib-version>1.0</tlib-version> 09 <jsp-version>1.2</jsp-version> 10 <short-name>qlier</short-name> 11 <uri>http://www.biezuomeng.com</uri> 12 13 <!-- 自定义日期 --> 14 <tag> 15 <!-- 标签的名称 --> 16 <name>date</name> 17 <!-- 标签的实现类 --> 18 <tag-class>qxl.tags.demo.DateTags</tag-class> 19 <!-- 标签中是否有属性内容、没有 --> 20 <body-content>empty</body-content> 21 <!-- 描述 --> 22 <description>日期标签</description> 23 </tag> 24 </taglib> |
做梦也很累 |
3.这个是在web.xml中的配置信息
1 <!-- 配置自定义标签 --> 2 <jsp-config> 3 <taglib> 4 <!-- 这个是自定义的,存不存在都行 --> 5 <taglib-uri>http://www.biezuomeng.com</taglib-uri> 6 </taglib> 7 </jsp-config> |
做梦也很累 |
4.不过在使用的时候你要导入你定义的信息,
1 <%@ taglib uri="http://www.biezuomeng.com" prefix="q" %> |
做梦也很累 |
5然后就直接使用了!