动态日历

来源:互联网 发布:紫川秀易语言编程百例 编辑:程序博客网 时间:2024/05/23 14:25

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>


界面效果如下: