编写一个showCalendar.tag,该Tag文件负责显示日历,编写一个jsp页面giveYearMonth.jsp,该jsp页面使用Tag标记调用ShowCalendar.tag文件,并且向ShowCalendar.tag文件传递年份和月份。
运行效果:
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 { y = Integer. parseInt (year ) ; m = Integer. parseInt (month ) ; Calendar rili = Calendar. getInstance ( ) ; rili. set (y, m - 1, 1 ) ; int data = rili. get ( Calendar. DAY_OF_WEEK ) - 1 ; int dayAmount = 0 ; if (m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12 ) dayAmount = 31 ; if (m == 2 || m == 4 || m == 6 || m == 9 || m == 11 ) dayAmount = 30 ; if (m == 2 ) if ( ( (y % 4 == 0 ) && (y % 100 != 0 ) ) || (y % 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 > |

本文介绍如何通过jsp和自定义Tag文件ShowCalendar.tag来实现日历的显示。在giveYearMonth.jsp页面中,调用ShowCalendar.tag并传入年份和月份参数,以完成日历的动态生成。运行结果显示为一个交互式的jsp日历。

2133

被折叠的 条评论
为什么被折叠?



