상용 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)
오 크 로 돌아 가기 > >
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.