动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   Jsp → 阅读文章

 JSP+JAVABEANS实现的WEB日历程序

作者来源: 
阅读 数 307 人次 , 2006-4-19 1:29:00 

一个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>

  
 
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:jspSmartUpload上传组件
· 下一篇:JSP在线人数程序剖析
· JSP技巧:发送动态图像
· JAVA/JSP学习系列之目录
· Allair JRUN 非法读取 WEB-INF 漏洞 
· 二、设置开发、运行环境
· JSP由浅入深(4-1)


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077