在JSP网页上实现月历

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

在JSP网页上实现月历

JSP、月历

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.util.*,java.text.*" %>

<html>

<head>

<title>月历</title>

</head>

<body style="font-size:12px">

<%!

/*声明变量*/

String[] months = {"January", "February", "March", "April", "May", "June",

"July", "August", "September", "October", "November", "December"};

String[] months_cn = {"一月", "二月", "三月", "四月", "五月", "六月",

"七月", "八月", "九月", "十月", "十一月", "十二月"};

public final static int dom[] = {

31, 28, 31, 30,

31, 30, 31, 31,

30, 31, 30, 31

};

%>

<%

/*处理事件*/

boolean yyok = false;

int yy = 0, mm = 0;

String yyString = request.getParameter("year");

if (yyString != null && yyString.length() >0) {

try {

yy=Integer.parseInt(yyString);

yyok=true;

}

catch (NumberFormatException e) {

out.println("年份不可用");

}

Calendar cal = Calendar.getInstance();

if (!yyok)

yy = cal.get(Calendar.YEAR);

String mmString = request.getParameter("month");

if (mmString == null) {

mm = cal.get(Calendar.MONTH);

}

else {

for (int i = 0; i < months.length; i++)

if (months[i].equals(mmString)) {

mm = i;

break;

}

}

}

%>

<form name="cal" method=post action="cal.jsp">

请选择月份:

<select name="month">

<%

/*初始化表单*/

for (int i = 0; i < months.length; i++) {

if (i == mm)

out.print("<option selected value=January>");

else

out.print("<option value="+months[i]+">");

out.print(months_cn[i]);

out.print("</option>");

}

%>

</select>

<br>请输入年份:

<input type="text" size="5" name="year" value="<%=yy%>">&nbsp;&nbsp;

<input type="submit" value="显示">

</form>

<%

int lead = 0;

%>

<table border="0" cellpadding="1" cellspacing="1" style="font-size:12px">

<tr height="20"><td colspan="7"><font color="#3399FF"><b><%= months[mm]%> <%= yy%></b></font></td></tr>

<% GregorianCalendar calendar = new GregorianCalendar(yy, mm ,1); %>

<tr><td><font color="#FF0000">Sun</font></td><td>Mon</td><td>Tue</td><td>Wed</td>

<td>Thu</td><td>Fri</td><td><font color="#FF0000">Sat</font></td></tr>

<%

/*下面是显示月历的代码*/

lead = calendar.get(Calendar.DAY_OF_WEEK)-1;

int dayInMonth = dom[mm];

if (calendar.isLeapYear(calendar.get(Calendar.YEAR)) && mm == 1)

++dayInMonth;

out.print("<tr>");

for(int i = 0; i < lead; i++) {

out.print("<td>&nbsp;</td>");

}

for(int i = 1; i <= dayInMonth; i++) {

if ((i+lead) % 7 == 0 || (i+lead) % 7 == 1)

out.print("<td align=\"center\"><font color=\"#FF0000\">"+i+"</font></td>");

else

out.print("<td align=\"center\">"+i+"</td>");

if ((lead+i) % 7 == 0) {

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

}

}

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

%>

</table>

</body>

</html>

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