JSP创建自定义标签库
2011-07-03 23:08
302 查看
自定义标签库描述符exampleTags.tld
FreeTag.class
DateTag.class
测试文件test.jsp
<?xml version="1.0" encoding="UTF-8"?> <taglib version="2.1" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"> <tlib-version>1.0</tlib-version> <short-name>example</short-name> <description>自定义标签库描述</description> <uri>/WEB-INF/tlds/exampleTags</uri> <tag> <name>iterate</name> <tag-class>tags.FreeTag</tag-class> </tag> <tag> <name>time</name> <tag-class>tags.DateTag</tag-class> </tag> </taglib>
FreeTag.class
package tags; import java.io.IOException; import java.util.logging.Level; import java.util.logging.Logger; import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.TagSupport; /** * * @author jy */ public class FreeTag extends TagSupport { private int arrayCount = 0; private String[] strings = null; @Override public int doStartTag() throws JspException{ strings = (String[]) pageContext.getAttribute("strings"); return EVAL_BODY_INCLUDE; } @Override public int doAfterBody() throws JspException{ try { pageContext.getOut().print(" "+strings[arrayCount] + "<br>"); } catch (IOException ex) { Logger.getLogger(FreeTag.class.getName()).log(Level.SEVERE, null, ex); } arrayCount++; if(arrayCount >= strings.length){ return SKIP_BODY; } return EVAL_BODY_AGAIN; } }
DateTag.class
package tags; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.logging.Level; import java.util.logging.Logger; import javax.servlet.jsp.tagext.TagSupport; /** * * @author jy */ public class DateTag extends TagSupport { @Override public int doEndTag(){ SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss"); String time = format.format(new java.util.Date()); try { pageContext.getOut().print(time); } catch (IOException ex) { Logger.getLogger(DateTag.class.getName()).log(Level.SEVERE, null, ex); } return EVAL_PAGE; } }
测试文件test.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%> <%@taglib prefix="example" uri="/WEB-INF/tlds/exampleTags.tld" %> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <h1>Hello World!</h1> <% String[] strings = new String[]{"a","b","c"}; pageContext.setAttribute("strings", strings); %> <example:iterate> now time:<example:time/> </example:iterate> </body> </html>
相关文章推荐
- 创建、配置和使用自定义JSP标签
- 创建自定义的jsp标签
- 创建JSP自定义标签
- jsp 自定义标签- *.tld 文件的创建方法之一
- 通过JSP自定义标签创建丰富多彩的超链接(Creating Richer Hyperlinks with JSP Custom Tags)
- 创建你的第一个自定义jsp tag(jsp标签)
- 创建你的第一个自定义jsp tag(jsp标签)2
- 创建你的第一个自定义jsp tag(jsp标签)
- 创建你的第一个自定义jsp tag(jsp标签)2
- JSP 创建自定义标签 Custom Tag
- jsp自定自定义标签
- JSP 自定义标签:简单标签
- Jsp 自定义tag标签
- Jsp中的自定义标签由浅到深详细讲解
- jsp开发自定义标签方法
- jsp自定义嵌套标签
- 关于 idea 自定义标签 todo 等的创建及使用
- Jsp 自定义标签
- 自定义标签,时间戳与日期时间转换 jsp页面
- jsp2自定义标签