自己写了一个获取当前时间的标签
java:
/*
* Created on 2005-1-5
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package com.mindo.taglibs;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspTagException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;
import org.apache.taglibs.standard.lang.support.ExpressionEvaluatorManager;
/**
* @author Administrator
*
* TODO To change the template for this generated type comment go to Window -
* Preferences - Java - Code Style - Code Templates
*/
public class CurrentDay extends TagSupport {
public int doStartTag() throws JspTagException
{
return SKIP_BODY;
}
public int doEndTag() throws JspTagException
{
JspWriter out = pageContext.getOut();
try
{
out.println(new SimpleDateFormat(formatKey.toString()).format(Calendar
.getInstance().getTime()));
}
catch (Exception e)
{
}
return EVAL_PAGE;
}
public void release()
{
super.release();
}
private Object formatKey="yyyy-MM-dd";
public void setFormatKey(Object formatKey) throws JspException {
if (formatKey != null) {
this.formatKey = ExpressionEvaluatorManager.evaluate("formatKey",
formatKey.toString(), Object.class, this, pageContext);
} else {
this.formatKey = "yyyy-MM-dd";
}
}
}
创建一个tlb文件
<?xml version="1.0" encoding="UTF-8"?>
<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 web-jsptaglibrary_2_0.xsd" version="2.0">
<tlib-version>1.0</tlib-version>
<jsp-version>1.1</jsp-version>
<short-name>mdlee</short-name>
<tag>
<name>currentDay</name>
<tag-class>com.mindo.taglibs.CurrentDay</tag-class>
<body-content>empty</body-content>
<attribute>
<name>formatKey</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
jsp页面中使用
<%@page contentType="text/html;charset=gbk" %>
<%@ taglib uri="/WEB-INF/c.tld" prefix="c"%>
<%@ taglib uri="/WEB-INF/mdlee.tld" prefix="lee"%>
<html>
<head>
<title>Lomboz JSP</title>
</head>
<body bgcolor="#FFFFFF">
<lee:currentDay formatKey="yyyy-MM-dd"></lee:currentDay>
</body>
</html>
用过structs的都知道,在structs里面有很多标签,或许有些时候需要自己的标签,但是不知道如何去写,现在我就把自己的一点心得写出来.
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.SimpleTagSupport;
import java.util.HashMap;
import java.io.IOException;
public class IterationSimpleTag extends SimpleTagSupport{
private int times;
public void setTimes(int_times){
this.times=_times;
}
public void doTag() throws JspException,IOException{
HashMap params=new HashMap();
for(int i=0; i<times;i++){
params.put("sequence",String.valueOf(i+1));
getJspBody().invoke(null,params);
}
}
}
<taglib xmlns="http://java.sun.com/xml/ns/i2ee"
xmlns:xsi="http://WWW.w3.org/2001/XMLSchema-instance"
xsl:schemaLocation="http://java.sun.com/xml/ns/j2ee web-jsptaglihrary_2_0.xsd"
version="2.0">
<taglib>
<tiib-version>1.0</tlib-version>
<short-name>Jwad book simple tag</short-name>
<uri>/JwadSimpleTag</uri>
<description>Simple Tag Handler</description>
<tag>
<name>iteration</name>
<tag-class>ICW.taglib.IterationSimpleTag</tag-class>
<body-content>scriptless</body-content>
<description>Iteration Tag</description>
<variable>
<description>Current iterationnumber</description>
<name-given>sequence</name—given>
</variable>
<attribute>
<name>times</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>