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>
  • 相关阅读:
    stenciljs 学习四 组件装饰器
    stenciljs 学习三 组件生命周期
    stenciljs 学习二 pwa 简单应用开发
    stenciljs ionic 团队开发的方便web 组件框架
    stenciljs 学习一 web 组件开发
    使用npm init快速创建web 应用
    adnanh webhook 框架 hook rule
    adnanh webhook 框架 hook 定义
    adnanh webhook 框架request values 说明
    adnanh webhook 框架execute-command 以及参数传递处理
  • 原文地址:https://www.cnblogs.com/jpwz/p/6352100.html
Copyright © 2011-2022 走看看