상용 taglib 및 용법

상용 taglib 및 용법
오 크 로 돌아 가기 > >
 
1.. 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/web-jsptaglibrary_2_0.xsd"
	version="2.0">
	<description>zzq tag library</description>
	<display-name>zzq taglib</display-name>
	<tlib-version>1.1</tlib-version>
	<short-name>zzq-rj</short-name>
	<uri>http://zzqrj.com/taglibs/mytag</uri>
	<tag>
		<name>dateFormater</name>
		<tag-class>com.neu.edu.utils.mytaglib.DateFormater</tag-class>
		<body-content>empty</body-content>
	    <attribute>
	        <description>
				Date and/or time to be formatted.
	        </description>
	        <name>date</name>
	        <required>true</required>
	        <rtexprvalue>true</rtexprvalue>
	    </attribute>
	</tag>
</taglib>
 
    이 파일 의 이름 은 my. tld 입 니 다. 저장 경로: WEB - INF / tleds / my. tld
 
2. 라벨 류 의 실현 은 다음 과 같다.
package com.neu.edu.utils.mytaglib;
import java.io.IOException;
import java.util.Date;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.JspFragment;
import javax.servlet.jsp.tagext.SimpleTagSupport;

public class DateFormater extends SimpleTagSupport {
    
    private Date date;

    public void doTag() throws JspException, IOException {
        JspWriter out = getJspContext().getOut();
        out.write(DateFormaterUtils.getFormatDate(date));
        JspFragment f = getJspBody();
        if (f != null) f.invoke(out);
    }

    public Date getDate() {
        return date;
    }

    public void setDate(Date date) {
        this.date = date;
    }
    
}

========================
package com.neu.edu.utils.mytaglib;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

public final class DateFormaterUtils {

    private static DateFormat BEFORE_YEAR_FORMAT = new SimpleDateFormat("yyyy M d  HH:mm");

    private static DateFormat YEAR_FORMAT = new SimpleDateFormat("M d  HH:mm");

    private static DateFormat DAY_FORMAT = new SimpleDateFormat("HH:mm");

    public static String getFormatDate(Date date) {
        if(date!=null){
            Calendar now = GregorianCalendar.getInstance();
            Calendar time = GregorianCalendar.getInstance();
            time.setTime(date);
            if (now.get(Calendar.YEAR) == time.get(Calendar.YEAR)) {
                int day = now.get(Calendar.DAY_OF_YEAR) - time.get(Calendar.DAY_OF_YEAR);
                if (day > 1) {
                    return YEAR_FORMAT.format(date);
                } else if (day == 1) {
                    return "   " + DAY_FORMAT.format(date);
                } else if (day == 0) {
                    int hour = now.get(Calendar.HOUR_OF_DAY) - time.get(Calendar.HOUR_OF_DAY);
                    int minute = hour * 60 + now.get(Calendar.MINUTE) - time.get(Calendar.MINUTE);
                    if (minute > 60) {
                        return "   " + DAY_FORMAT.format(date);
                    } else if (minute <= 60 && minute > 5) {
                        return minute + "    ";
                    } else {
                        return "    ";
                    }
                }
            } else {
                return BEFORE_YEAR_FORMAT.format(date);
            }
        }
        return null;
    }
}


 
 
3. jsp 파일 에 도입 하여 사용
 
    jsp 파일 헤더 도입: <% @ taglib uri = "http://zzqrj.com/taglibs/mytag " prefix="zzq-rj "%>
    jsp 에서 사용: <% Date date = new Date ();request.setAttribute("date",date); %>                     date:
 
4. 자주 사용 하 는 taglib
 
    (1) 텍스트 절단 Go>>
    (2)


오 크 로 돌아 가기 > >

좋은 웹페이지 즐겨찾기