JSP+JAVABEANS实现的WEB日历程序

王朝java/jsp·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

一个JSP+JAVABEANS实现的WEB日历程序,主要使用了Calendar类!

monthBean.java

package test;

import java.text.DateFormat;

import java.text.DateFormatSymbols;

import java.util.*;

public class monthBean {

public final static int[]DAYSINMONTH={31,28,31,30,31,30,31,31,30,31,30,31};

public String []monthNames=null;

protected DateFormatSymbols symbols=null;

protected Calendar cal=Calendar.getInstance();

protected int today=cal.get(Calendar.DAY_OF_MONTH);

protected int month=cal.get(Calendar.MONTH);

protected int year=cal.get(Calendar.YEAR);

public monthBean() {

symbols=new DateFormatSymbols();

monthNames=symbols.getMonths();

}

public void setMonth(int monthArg){

this.month=monthArg;

}

public void setYear(int yearArg) {

this.year=yearArg;

}

public void setMonth(String monthArg) {

try{

int month=Integer.parseInt(monthArg);

setMonth(month);

}catch(Exception exc){

}

}

public void setYear(String yearArg){

try{

int year=Integer.parseInt(yearArg);

setYear(year); }catch(Exception exc){

}

}

public String getMonthName() {

return monthNames[cal.get(Calendar.MONTH)];

}

public int getToday(){

return today;

}

public int getStartCell() {

Calendar beginOfMonth=Calendar.getInstance();

beginOfMonth.set(year,month,0);

return beginOfMonth.get(Calendar.DAY_OF_WEEK);

}

public int getEndCell() {

cal.set(year,month,1); int endCell=DAYSINMONTH[month]+getStartCell()-1;

if(month==Calendar.FEBRUARY && ((GregorianCalendar)cal).isLeapYear(year)){

endCell++;

}

return endCell;

}

public void update() {

cal.set(this.year,this.month,1);

}

public String getDayName(int day,boolean longFormat) {

if(longFormat)

return symbols.getWeekdays()[day];

return symbols.getShortWeekdays()[day];

}

}

month.jsp

<%@ page contentType="text/html;charset=gb2312" %>

<%@ page import="test.monthBean"%>

<jsp:useBean id="cal" class="test.monthBean" scope="request"/>

<%

int today=cal.getToday();

%>

<html>

<head>

<title>

日历

</title>

</head>

<body bgcolor="silver" ><br><br><br>

<table border="1" align="center" width="40%" height="100"><tr bgcolor="silver" >

<td colspan="7">&nbsp;<font size="+2">

<%=cal.getMonthName()%>

</font></td></tr>

<tr bgcolor="black" align="center">

<% for(int i=1;i<8;i++) {

out.print("<td width=\"70\">");

out.print("<font size\"-1\" color=\"white\">");

out.print(cal.getDayName(i,true));

out.print("</front> </td>");

} %>

</tr>

<% int startcell=cal.getStartCell();

int endcell=cal.getEndCell();

for(int cellNo=0,day=1;cellNo<42;cellNo++) {

if(cellNo%7==0) { out.print("<tr>"); }

out.print("<td valign=top height=57");

if(cellNo<startcell||cellNo>endcell) {

out.print(" bgcolor=\"gray\">"); }

else {

if(day==today){ //如果为当前日期,背景色设为绿色

out.print(" bgcolor=\"green\">");

}

else

out.print(">");

%>

<%=day%>

<%

day++;

}

out.println("</td>");

if(cellNo+1%7==0) {

out.print("</tr>"); }

} //end for loop

%>

</table>

</body>

</html>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航