JavaBean实现一个能进行年、月查找的日历程序。
首先,编写JavaBean程序,代码如下:
package ch8_3;
import java.util.*;
public class CalendarBean {
String calendar = null;
int year = 2006, month = 1;
public void setYear(int year)
{
this.year = year;
}
public int getYear()
{
return year;
}
public void setMonth(int month)
{
this.month = month;
}
public int getMonth(){
return month;
}
public String getCalendar()
{
StringBuffer buffer = new StringBuffer();
Calendar 日历 = Calendar.getInstance();
日历.set(year,month - 1,1);
int 星期几 = 日历.get(Calendar.DAY_OF_WEEK) - 1;
int day = 0;
if (month == 1 || month == 3 || month ==5 || month == 7 || month == 8 || month == 10 || month == 12 )
{
day = 31;
}
if (month == 4 || month == 6 || month == 9 || month == 11)
{
day = 30;
}
if (month == 2)
{
if((year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0))
{
day = 29;
}
else
{
day = 28;
}
}
String a[] = new String [42];
for (int i = 0; i < 星期几; i++)
{
a[i] = "";
}
for (int i = 星期几,n = 1;i < 星期几 + day; i++)
{
a[i] = String.valueOf(n);
n ++;
}
buffer.append("<table border=3>");
buffer.append("<tr>");
String xingqi [] = {"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
for(int k = 0; k < 7; k++)
{
buffer.append("<td>" +xingqi[k]+ "</td>");
}
buffer.append("</tr>");
for(int k = 0; k < 42; k = k + 7)
{
buffer.append("<tr>");
for(int j = k; j < 7+k; j++)
{
if(a[j] != null)
buffer.append("<td>"+a[j]+"</td>");
System.out.println(a[j]+" "+j+" "+k);
}
buffer.append("</tr>");
}
buffer.append("</table>");
calendar = new String(buffer);
return calendar;
}
}
编写jsp程序,代码如下:
<%@ page language="java" import="java.util.*" contentType = "text/html;charset = GB2312" pageEncoding="gb2312"%>
<html>
<title>日历程序</title>
<body bgcolor = pink>
<font size = 4>
<jsp:useBean id="Calendar" class = "ch8_3.CalendarBean" scope = "request"/>
<form action="" method="post" name="form1">
选择日历显示 年份:
<select name = "year">
<option value = "2001">2001年
<option value = "2002">2002年
<option value = "2003">2003年
<option value = "2004">2004年
<option value = "2005">2005年
<option value = "2006" selected>2006年
<option value = "2007">2007年
</select>
月份:
<select name = "month">
<option value = "1" selected>1月
<option value = "2">2月
<option value = "3">3月
<option value = "4">4月
<option value = "5">5月
<option value = "6">6月
<option value = "7">7月
<option value = "8">8月
<option value = "9">9月
<option value = "10">10月
<option value = "11">11月
<option value = "12">12月
</select>
<p>
<input type="submit" value="提交" name="submit">
</p>
</form>
<jsp:setProperty name = "Calendar" property = "*"/>
<font color = "red"><jsp:getProperty name = "Calendar" property = "year" /></font>年
<font color = "red"><jsp:getProperty name = "Calendar" property = "month" /></font>
月的日历:
<jsp:getProperty name = "Calendar" property = "calendar" />
</font>
</body>
</html>
界面效果如下: