zoukankan      html  css  js  c++  java
  • 自定义JSP标签示例

    我们以一个例子来讲解如何自定义JSP标签,假如我们需要在页面中输出当前的时间,按照最简单的JSP脚本,需要在JSP里面写很多Java代码,那么如何来使用自定义标签实现这个功能呢?

    首先,我们要先创建一个类,继承TagSupport类:

     1 import java.io.IOException;
     2 import java.text.SimpleDateFormat;
     3 import java.util.Date;
     4 import javax.servlet.jsp.JspException;
     5 import javax.servlet.jsp.tagext.TagSupport;
     6 
     7 public class LoginDateTag extends TagSupport {
     8 
     9     @Override
    10     public int doStartTag() throws JspException {
    11         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    12         String date = sdf.format(new Date());
    13         try {
    14             pageContext.getOut().print(date);
    15         } catch (IOException e) {
    16             e.printStackTrace();
    17         }
    18         return super.doStartTag();
    19     }
    20     
    21 }

    第二步,设置.tld文件,tld文件的模板可以在tomcat中找到,C:Program Filesapache-tomcat-7.0.56webappsexamplesWEB-INFjsp2,jsp2-example-taglib.tld文件:

     1 <?xml version="1.0" encoding="UTF-8" ?>
     2 <taglib xmlns="http://java.sun.com/xml/ns/j2ee"
     3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     4     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
     5     version="2.0">
     6     <description>A tag library exercising SimpleTag handlers.</description>
     7     <tlib-version>1.0</tlib-version>
     8     <short-name>SimpleTagLibrary</short-name>
     9     <uri>/test</uri> //导入该文件的路径
    10     <tag>
    11         <name>loginDate</name> //标签名
    12         <tag-class>util.LoginDateTag</tag-class> //标签功能代码所在的类
    13         <body-content>empty</body-content>
    14     </tag>
    15 </taglib>

    完成上面配置后,就可以在JSP代码中调用我们自定义的标签

    1 <%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
    2 <!-- 导入自定义标签库 -->
    3 <%@ taglib prefix="t" uri="/test" %>
    4 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    5 <html>
    6   <body>
    7     您的登录时间为:<t:loginDate/> 
    8   </body>
    9 </html>
  • 相关阅读:
    vsftpd 启动 vsftpd:500 OOPS: bad bool value in config file for: guest_enable
    Vsftpd服务传输文件(转)
    搭建FTP服务
    sed命令
    创建服务类脚本
    jvm 方法区
    B+与B-树
    适配器模式
    java 垃圾回收总结(可达性分析 引用分类
    HBase常见问题答疑解惑【持续更新中】
  • 原文地址:https://www.cnblogs.com/jpwz/p/6352100.html
Copyright © 2011-2022 走看看