jsp日历实现

编写一个showCalendar.tag,该Tag文件负责显示日历,编写一个jsp页面giveYearMonth.jsp,该jsp页面使用Tag标记调用ShowCalendar.tag文件,并且向ShowCalendar.tag文件传递年份和月份。

运行效果:

jsp日历实现_第1张图片

jsp日历 bestcoder编程学习网

giveYearMonth.jsp

1
2
3
4
5
6
7
8
9
10
11
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib tagdir="/WEB-INF/tags" prefix="rili" %>

<title>Insert title here </title>
</head>
<body>
<p>调用Tag文件来显示日历 </p>
<rili:ShowCalendar year="2015" month="10" />
</body>
</html>

ShowCalendar.tag

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<%@ tag language = "java" pageEncoding = "UTF-8" %>
<%@ tag  import = "java.util.*" %>
<%@ attribute name = "year" required = "true" %>
<%@ attribute name = "month" required = "true" %>

<%
int y  =  1991 ;
int m  =  1 ;
String [ ] day  =  new  String [ 42 ] ;
try  {
=  Integer. parseInt (year ) ;
=  Integer. parseInt (month ) ;
Calendar rili  =  Calendar. getInstance ( ) ;
rili. set (y, m  -  11 ) ;
int data  = rili. get ( Calendar. DAY_OF_WEEK )  -  1 ;
int dayAmount  =  0 ;
if  (==  1  || m  ==  3  || m  ==  5  || m  ==  7  || m  ==  8  || m  ==  10  || m  ==  12 )
dayAmount  =  31 ;
if  (==  2  || m  ==  4  || m  ==  6  || m  ==  9  || m  ==  11 )
dayAmount  =  30 ;
if  (==  2 )
if  ( ( (%  4  ==  0 )  &&  (%  100  !=  0 ) )  ||  (%  400  ==  0 ) )
dayAmount  =  29 ;
else
dayAmount  =  28 ;
for  ( int i  =  0 ; i  < data ; i ++ )
day [i ]  =  "--" ;
for  ( int i  = data, n  =  1 ; i  < data  + dayAmount ; i ++ )  {
day [i ]  =  String. valueOf (n ) ;
n ++;
}
for  ( int i  = data  + dayAmount ; i  <  42 ; i ++ )
day [i ]  =  "--" ;

}  catch  ( Exception e )  {
out. println ( "年份或月份不合理。" ) ;

}
%>

<h3 ><%=year %><%=month %>月的日历:
</h3 >
<table border = 1 >
<tr >
<th >星期日 </th >
<th >星期一 </th >
<th >星期二 </th >
<th >星期三 </th >
<th >星期四 </th >
<th >星期五 </th >
<th >星期六 </th >
</tr >

<%
for  ( int n  =  0 ; n  < day. length ; n  = n  +  7 )  {
%>
<tr >
<%
for  ( int i  = n ; i  <  7  + n ; i ++ )  {
%>
<td ><%=day [i ] %></td >
<%
}
%>
</tr >
<%
}
%>
</table >



本文链接:  http://www.bcoder.cn/?p=1208
转载请注明来源: bcoder编程学习网 《jsp日历实现》

你可能感兴趣的:(jsp日历实现)