Struts+Hibernate模板开发笔记---自定义标签
2005-06-04 17:06
525 查看
1.自定义标签库(DateTag.tld)
<?xml version="1.0" encoding="GB2312" ?> <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_2.dtd"> <taglib> <tlibversion>1.0</tlibversion> <jspversion>1.2</jspversion> <shortname>Date Tag Library</shortname> <info>日期录入标签库</info> <tag> <name>inputButton</name> <tagclass>com.company.demo.tags.DateTag</tagclass> <bodycontent>empty</bodycontent> <attribute> <name>name</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>type</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> </tag> </taglib>2.Tag类(DateTag.java)
package com.company.demo.tags; import javax.servlet.jsp.*; import javax.servlet.jsp.tagext.*; import javax.servlet.*; /** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2003</p> * <p>Company: </p> * @author 段洪杰 * @version 1.0 * 生成日期录框 */ public class DateTag extends TagSupport{ String type,name; //类型和参数名 public void setType(String type)throws JspException { this.type=type; } public void setName(String name)throws JspException { this.name=name; } public int doStartTag() throws JspException { String string,dialogHeight,dialogWidth,size; if(type=="date") { dialogHeight="290"; dialogWidth="240"; size="10"; } else if(type=="datetime") { dialogHeight="315"; dialogWidth="240"; size="18"; } else { throw new JspTagException("类型参数错误,只能选择date或datetime!"); } string="<SCRIPT language=javascript>"+ "function selectDate"+name+"(oSource){"+ "window.showModalDialog('content/dtpicker.jsp?rn='+Math.random(),oSource, 'dialogHeight:"+dialogHeight+"px; dialogWidth: "+dialogWidth+"px;center: Yes; help: No; resizable: No;scroll:No;status: No;')"+ "}"+ "</script>"+ "<INPUT readOnly size="+size+" name="+name+ " DataType=/"date/" comparer=/"compareToLastUsedOn/" dateTimeType="+type+">"+ "<IMG src=/"images/select.gif/" width=/"23/" height=/"23/" align=absMiddle"+ " onclick=selectDate"+name+"(document.all(this.sourceIndex-1))> "; try{ JspWriter out=pageContext.getOut(); out.println(string); } catch(Exception ex) { throw new JspTagException("程序调用标签时出错: "+ex.getMessage()); } return SKIP_BODY; } public int doEndTag() throws JspException { return EVAL_PAGE; } }
相关文章推荐
- Struts+Hibernate模板开发笔记---解决汉字编码问题
- Struts+Hibernate模板开发笔记(转)
- Struts+Hibernate模板开发笔记(一)
- Struts+Hibernate模板开发笔记---设计模式:单例
- Struts+Hibernate模板开发笔记
- Struts+Hibernate模板开发笔记---设计模式:MVC
- Struts+Hibernate模板开发笔记---设计模式:门面
- Struts+Hibernate模板开发笔记---设计模式:DAO
- Hibernate框架开发笔记 lesson5
- 用模板静态计算出最大公因子 (几何画板开发笔记 一)
- 软件开发过程学习笔记(五)之测试方案模板 分类: 开发过程 2015-07-08 14:48 8人阅读 评论(0) 收藏
- Hibernate开发环境搭建(学习笔记)
- Hibernate应用开发学习笔记1
- Struts+Hibernate开发实践 分页的实现
- struts+hibernate综合开发案例
- Hibernate 开发流程笔记(中)
- 软件开发过程学习笔记(五)之测试方案模板
- 嵌入式开发之C++基础学习笔记5--静态成员,友元,运算符重载,模板,文件流
- 【Hibernate框架开发之九】Hibernate 性能优化笔记!(遍历、一级/二级/查询/缓存、乐观悲观锁等优化算法)
- Hibernate应用开发步骤(学习笔记)