忙了半天终于对自定义的tag有所了解..随手写下一些内容吧..
先看看我的环境吧..java IDE是用 jcreator pro ..服务器用的是tomcat5.59
为了让大家 对 自定义的tag有所了解..先看看我的jsp源代码然后再看看效果图呵呵..
<%@ taglib uri="../WEB-INF/date-format.tld" prefix="df" %>
日期的输入格式:yyyy/mm/dd,格式 化:yyyy年 mm月 dd日
输入日期2005/5/18
格式化 结果
<%-- 使用 自定义的formatdate标记 --%>
再看看在浏览器中的效果吧.
日期的输入格式:yyyy/mm/dd,格式 化:yyyy年 mm月 dd日
输入日期2003/7/23
格式化 结果 2003年07月23日
这里的兰颜色当然是我blog中的了呵呵..
实现这个简单的自定义标签的方法如下:...
首先建立一个 .java文件Dateformatter.java,再jcreator中输入如下代码:
package ch02.jsp.taglib;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspTagException;
import javax.servlet.jsp.tagext.*;
public class DateFormatter extends TagSupport
{
protected String value;
protected String format;
public void setValue(String value)
{
this.value=value;
}
public void setFormat(String format)
{
this.format=format;
}
public int doStartTag() throws JspTagException
{
try{
System.out.println("value="+value+",format="+format);
pageContext.getOut().write(formatDateValue(value));
}catch(IllegalArgumentException e)
{
e.printStackTrace();
}
catch(Exception e)
{
throw new JspTagException(e.getMessage());
}
return SKIP_BODY;
}
public int doEndTag() throws JspException
{
return EVAL_PAGE;
}
protected String formatDateValue(String date) throws ParseException
{
if(value==null)
{
return "";
}
DateFormat formatter =new SimpleDateFormat(format);
return formatter.format(new SimpleDateFormat("yyyy/mm/dd").parse(value));
}
}
对 了如果要在jcreator中编译通过该文件..需要设置jcreator的jdk..在jdk路径中加入tomcat中jsp-api.jar和 servlet-api.jar的路径....然后把编译好的.class文件放在web-inf的class目录下注意一定要放在相应的包名目录下 啊..
PUBLIC "-//SUN Microsystems,Inc.//DTD Jsp Tag Library 1.1//EN"
"http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
1.0
2.0
df
riqigeshi
formatdate
ch02.jsp.taglib.DateFormatter
empty
value
true
false
format
true
false
最后编写jsp文件mytag.jsp如开头的jsp代码就可以用自己的tag了 ..
这里的例子来自< >呵呵..