jsp进阶: 开发jsp自定义标记- -

忙了半天终于对自定义的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目录下注意一定要放在相应的包名目录下 啊..

再次创建标记库描述符文件(tag library descriptor)date-format.tld,放到任意目录下就好了,只要你能找到它,但还是建议放到web-inf目录下..date-format.tld内容如下


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了 ..
这里的例子来自<>呵呵..
阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页