JSP自定义标签 函数,实现生日计算年龄

来源:互联网 发布:系统动力学软件 价格 编辑:程序博客网 时间:2024/05/14 23:45

在Spring+hibernate的框架中,通过生日计算年龄比较麻烦,通过SQL计算年龄也可以实现,还是挺麻烦的,测试过几种方法后,还是在显示层,通过JSP的自定义标签实现比较简单。

1、创建标签的处理类(Tag Handler Class)

 

package com.kingmed.jusmartcare.health.service;import java.util.Date;import java.text.SimpleDateFormat;import java.util.Calendar;public class FenDate {         public static String age(java.util.Date brithday ) throws Exception {    if (brithday==null){    return "无";    }    Calendar cal = Calendar.getInstance();    cal.setTime(brithday);    int year = cal.get(Calendar.YEAR);         Calendar cal2 = Calendar.getInstance();    cal2.setTime(new java.util.Date());    int year2 = cal2.get(Calendar.YEAR);     year2=year2-year;return String.valueOf(year2);    }    public static String ageex(String brithday ) throws Exception {    SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");//小写的mm表示的是分钟      java.util.Date date=sdf.parse(brithday);      return age(date);    }    }  



2、创建标签库描述文件(Tag Library Descrptor File)

FenDate.tld

<?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 http://java.sun.com/xml/ns/j2ee/webjsptaglibrary_2_0.xsd"       version="2.0">       <description>functions library by feng, 2012-08-11</description>       <display-name>functions of feng</display-name>       <tlib-version>1.0</tlib-version>       <short-name>fen</short-name>       <uri>http://www.kingmed.com.cn</uri>       <function>           <name>age</name>           <function-class>com.kingmed.jusmartcare.health.service.FenDate</function-class>           <function-signature>java.lang.String age(java.util.Date)</function-signature>       </function>        <function>           <name>ageex</name>           <function-class>com.kingmed.jusmartcare.health.service.FenDate</function-class>           <function-signature>java.lang.String ageex(java.lang.String )</function-signature>       </function>     </taglib>  



 

3:在JSP文件中引人标签库

test.jsp

<%@ page contentType="text/html;charset=UTF-8"%>
<%@ taglib prefix="fen" uri="http://www.kingmed.com.cn"%>
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<tr><p>${fen:age(null) }</p></tr>
<tr><p>${fen:ageex("2009-1-1") }</p></tr>
</body>
</html>

 

4:显示结果

4

原创粉丝点击