自定义标签 —— 实现时间转换和输出功能

第一步:导入jar包  jsp-api-2.2-sources.jar

<!-- https://mvnrepository.com/artifact/javax.servlet.jsp/jsp-api -->
<dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.2</version><scope>provided</scope>
</dependency>

第二步,定义一个用来实现标签功能的java类,例如:DateConvert.java

@SuppressWarnings("serial")  
public class DateConvert extends TagSupport {  private String longTime;  public String getLongTime() {  return longTime;  }  public void setLongTime(String longTime) {  this.longTime = longTime;  }  @Override  public int doStartTag() throws JspException {  long l = 0l;  if(longTime!=null && !longTime.equals("")){  l = Long.parseLong(longTime);  }  Date date = new Date(l);  SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  String targetTime = format.format(date);  try {  super.pageContext.getOut().write(targetTime);  super.pageContext.getOut().write("<br/>");  super.pageContext.getOut().write("123123");  } catch (IOException e) {  e.printStackTrace();  }  return super.doStartTag();  }  
}

第三步,可在WEB-INF目录下定义一个*.tld文件,例如dateConvert.tld

<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"  "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">  
<taglib>  <tlib-version>1.0</tlib-version>  <jsp-version>1.2</jsp-version>  <short-name>dateConvert</short-name>  <uri>/dateConvert</uri>  <tag>  <name>longStr</name>  <tag-class>spittr.tag.DateConvert</tag-class>  <body-content>JSP</body-content>  <attribute>  <name>longTime</name>  <required>true</required><!-- 表示该属性,一定要使用 -->  <rtexprvalue>true</rtexprvalue><!-- 属性是否能用表达式 -->  </attribute>  </tag>  
</taglib>

第四步,在web.xml文件中引用你的*.tld文件

<jsp-config>  <taglib>  <taglib-uri>/dateConvert</taglib-uri>    <taglib-location>./tag/dateConvert.tld</taglib-location>    </taglib>    
</jsp-config>

第五步,在你的页面引入自定义标签库进行使用

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>  
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>  
<%@ taglib uri="/dateConvert" prefix="ct" %>  
<h1>Register</h1>  
<form method="post" enctype="multipart/form-data">  First Name:<input type="text" name="firstName"/><br/>  Last Name:<input type="text" name="lastName"/><br/>  Username:<input type="text" name="userName"/><br/>  Password:<input type="password" name="password"/><br/>  file:<input type="file" name="profilePicture" accept="image/jpeg,image/png,image/gif"><br/>  <ct:longStr longTime="1314842011312"></ct:longStr>  <input type="submit" value="Register"/>  
</form>

 

转载于:https://www.cnblogs.com/yifanSJ/p/9217531.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/397628.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

laravel5 centos6.4下的配置体验

1. 安装lmnp环境: nginx version: nginx/1.6.0、 php 5.5.7 、 centos6.42. laravel-v5.1.4 一键安装包&#xff0c;在使用composer 安装时出现server 500的错误&#xff0c;改用了一键安装包注意&#xff1a;1. 防火墙的端口的&#xff0c; 2. laravel目录的用户权限&#xff…

java 并发编程多线程_多线程(一)java并发编程基础知识

线程的应用如何应用多线程在 Java 中&#xff0c;有多种方式来实现多线程。继承 Thread 类、实现 Runnable 接口、使用 ExecutorService、Callable、Future 实现带返回结果的多线程。继承 Thread 类创建线程Thread 类本质上是实现了 Runnable 接口的一个实例&#xff0c;代表一…

Docker监控方案(TIG)的研究与实践之Influxdb

2019独角兽企业重金招聘Python工程师标准>>> 前言&#xff1a; Influxdb也是有influxdata公司(www.influxdata.com )开发的用于数据存储的时间序列数据库.可用于数据的时间排列。在整个TIG(Telegrafinfluxdbgrafana)方案中&#xff0c;influxdb可算作一个中间件&…

iOS-生成随机数

有时候我们需要在程序中生成随机数&#xff0c;但是在Objective-c中并没有提供相应的函数&#xff0c;好在C中提供了rand()、srand()、random()、arc4random()几个函数。那么怎么使用呢&#xff1f;下面将简单介绍&#xff1a; 1、 获取一个随机整数范围在&#xff1a;[0,100)…

剑指offer 面试32题

面试32题&#xff1a; 题目&#xff1a;从上到下打印二叉树 题&#xff1a;不分行从上到下打印二叉树 解题代码&#xff1a; # -*- coding:utf-8 -*- # class TreeNode: # def __init__(self, x): # self.val x # self.left None # self.right …

crc算法java_c语言的crc16算法转java

一、c语言uint16_t crc_chk(uint8_t *data, uint8_t len){uint8_t i;uint16_t reg_crc 0xffff;while(len--) {reg_crc ^ *data;for(i 0; i < 8; i) {if(reg_crc & 0x01) {reg_crc (reg_crc >> 1) ^ 0xA001;} else {reg_crc reg_crc >> 1;}}}return reg_…

Java第三阶段学习(三、字符流、转换流)

一、字节流读取中文时出现的问题&#xff1a; 文件中有中文时&#xff0c;用字节流读取会出现乱码的问题&#xff0c;因为一个中文为两个字节。 二、字符编码表 编码表&#xff1a;其实就是生活中字符和计算机二进制的对应关系表。 1、ascii&#xff1a; 一个字节中的7位就可以…

windows下OpenSSL加密证书安装步骤与使用方法

OpenSSL加密证书一般用于签名认证&#xff0c;含私钥和公钥。在Linux系统中&#xff0c;OpenSSL一般是已经安装好了&#xff0c;可以直接使用。而在Windows系统中&#xff0c;是需要安装使用的。 最近在使用支付平台时&#xff0c;用到了OpenSSL&#xff0c;鉴于此分享给大家&a…

linux运维(五)

头有点大&#xff0c;也浪费了一些时间。明天过后缓冲一下1、存储过程与触发器的区别&#xff1f;答&#xff1a;&#xff08;1&#xff09;触发器主要是通过事件执行触发而被执行的&#xff0c;而存储过程可以通过存储过程名称而直接调用。&#xff08;call/execute&#xff0…

django web 自定义通用权限控制

需求&#xff1a;web系统有包含以下5个url&#xff0c;分别对于不同资源&#xff1b; 1、stu/add_stu/ 2、stu/upload_homework/ 3、stu/query_homework/ 4、stu/add_record/ ----------------------------------------------------------------------------------------------…

java源码影视源码搭建教程_新版千月影视app源码+搭建教程

使用notepad批量替换URL【http://】为你的域名(被替换的域名访问有成品不能发布 需要修改的到前台confing里面查询)&#xff0c;替换名称【鲸鹰影视】为你的应用名称&#xff1b;服务端&#xff1a;1.将替换好的后端源码打包上传至站点根目录后解压&#xff1b;2.配置网站伪静态…

git学习相关的博客地址

Git分支管理策略&#xff1a; http://www.ruanyifeng.com/blog/2012/07/git.html Git 使用规范流程&#xff1a; http://www.ruanyifeng.com/blog/2015/08/git-use-process.html 基于git的源代码管理模型——git flow&#xff1a; http://www.ituring.com.cn/article/56870 Git…

Django框架基础学习

Django安装python下载地址 http://www.python.org/download/releases/3.3.4/Django的下载地址&#xff1a;https://www.djangoproject.com/download/1&#xff09;安装&#xff08;进到解压目录&#xff09;python setup.py install2、配置环境变量&#xff08;PATH&#xff09…

Uboot USB模式(RK3288变砖头的解决办法)

RK3288启动后有三种模式&#xff0c;可以分别进行操作。 第一种是normal也就是正常的启动模式。这个模式无法刷固件。一般板子通电就是这个模式 第二种是loader模式。就是刷固件模式。这个模式可以刷各种image。按住recover按键再通电&#xff0c;通过uboot的检测进入这个模式 …

java邮件实例_java邮件小实例

新建一个包&#xff0c;名为mail第一个类&#xff1a;MailSenderInfo.java###########################################package com.util.mail;/*** 发送邮件需要使用的基本信息*author by wangfunhttp://www.5a520.cn 小说520*/import java.util.Properties;public class Mai…

DEV GridView嵌套

/// <summary> /// 绑定主表和明显表到GridView /// </summary> /// <param name"machineProduct">主表</param> /// <param name"configureData">字表</param> private void Mas…

局域网大型文件分发的可能解决方案

客户原来的做法是把文件上传到服务器&#xff0c;然后后形成一个普通的HTTP地址下入网站后台系统&#xff0c;然后客户端用户看到后&#xff0c;则下载下来。但是随着文件越来越大&#xff0c;客户端下载量增加&#xff0c;在局域内网环境中这种文件分发方式的弊端立现。服务器…

android——获取ImageView上面显示的图片bitmap对象

获取的函数方法为&#xff1a;Bitmap bitmapimageView.getDrawingCache(); 但是如果只是这样写我们得到的bitmap对象可能为null值&#xff0c;正确的方式为&#xff1a; imageView.setDrawingCacheEnabled(true);Bitmap bitmapimageView.getDrawingCache();imageView.setDrawin…

java监听com口_简单了解Java接口+事件监听机制

1.接口&#xff1a;定义方法&#xff1a;public interface interName //extends interName2, interName3...可继承多个接口在接口里只能定义常量和抽象方法。public static final String Name;public abstract void method(String Name);//这里不能用大括号&#xff0c;不然就不…

例子:好友列表选中效果

<style type"text/css"> *{ margin:0px auto; padding:0px; font-family:微软雅黑; font-size:16px;} .f{ width:200px; height:30px; background-color:#63C; color:white; text-align:center; line-height:30px; vertical-align:middle; margin-top:3px} .f:…