RT,功能不需要google那么强大,只要点击日历上的某个日期,就能显示那天有没有事情提醒,不需要像google那样精确到小时。我的后台是ssh2的,感觉比较难的是如何在jsp页面中嵌入日历框,原来试过在jsp页面顶上直接加JS代码,那么做日历是可以显示的,但点击的功能就让我犯难了啊。还是帖一些页面的代码吧,反正也是网上down的:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'yyh.jsp' starting page</title>
    
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">    
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->  </head>
  
  <style type="text/css">
<!--
a {text-decoration: none; font-family: "Webdings"; font-size:16px; color: #000000;}
-->
</style>
<script language="JavaScript"> 
  var gYear, gMonth, gDay;
  var days = [31,28,31,30,31,30,31,31,30,31,30,31];  function getDateStr(date){    
    var y = date.getFullYear();
    var m = date.getMonth()+1;
    var d = date.getDate();
    return y+"-"+m+"-"+d;
  }  function getDate(dateStr){
    //alert(dateStr);
    return new Date(dateStr);
  }  function calendar(d){
    var year = d.getFullYear();
    var month = d.getMonth();
    var day = d.getDate();    gYear = year;
    gMonth = month+1;
    gDay = day;    var rlt = "<table align=center cellspacing=1 border=0 cellspadding=2 bgcolor='#3399CC' width=500>";
    // 月历的标题行。
    rlt += "<tr title='双击回到当天'><td align=center bgcolor='#FFFF00' colspan=7 onDblClick='today()'>" 
      + "<a href='javascript:prevYear()' title='上一年'> 7</a>&nbsp;&nbsp;" 
      + "<a href='javascript:prevMonth()' title='上一月'>3</a>&nbsp;&nbsp;" 
      + year + "年" + (month+1) +  "月&nbsp;&nbsp;" 
      + "<a href='javascript:nextMonth()' title='下一月'>4</a>&nbsp;&nbsp;" 
      + "<a href='javascript:nextYear()' title='下一年'>8</a></td></tr>";
    rlt = rlt + "<tr>";
    var weeks = ["日","一","二","三","四","五","六"];
    
    for(var i=0; i<weeks.length; i++){  // 月历的星期行。 
      rlt = rlt + "<td align=center bgcolor='#CCFFFF'>" + weeks[i] + "</td>";
    }
    rlt = rlt + "</tr><tr>";
    var col=0;    
    var dateStr = year + "/"+ (month + 1) + "/" + 1;
    var week = getDate(dateStr).getDay();
    var lastDay = days[getDate(year + "/"+ month + "/" + 1).getMonth()]; // 上一个月的天数,补齐开始的空格。
    for(var i=0; i<week; i++){ // 用上一个月的日期补齐开始的空格。
      rlt = rlt + "<td bgcolor=white align=center><font color=#828282>" + (lastDay-week+i+1) + "</font></td>";
      col = col+1;
    }
    if((year%4==0 && year%100!=0) || (year%400==0)){
      days[1] = 29;
    }
    for(var i=1; i<=days[month]; i++){
      rlt = rlt + "<td align=center bgcolor='#FFCCEE' valign=center>"; 
      if(i == day){  // 当天,突出显示。
        rlt += "<b><font color=red>" + i + "</font></b></td>";
      }else{
        rlt += i + "</td>";
      }
      col = col + 1;
      if(col == 7 && i<days[month]){
        rlt = rlt + ("</tr><tr>");
        col = 0;
      }      
    }    for(var i=col; i<7; i++){ // 用下一个月的日期,补齐末尾的空格。
      rlt = rlt + ("<td bgcolor=white align=center><font color=#828282>" + (i-col+1) + "</font></td>");      
    }
    rlt = rlt +  "</tr></table>";
    //document.writeln(rlt);
    return rlt;
  }  function drawCalendar(year, month, day){   
      var dateStr = year + "/" + month + "/" + 1;
      var d = getDate(dateStr);      
      if(day != null){
        if(day > days[month-1]){
          day = days[month-1];
        }
        d.setDate(day);
      }
     document.all.calendar.innerHTML = calendar(d);  
  }</script><body>
 <br><br>  
 <div align="center" id="calendar">&nbsp;</div>
<br><br>
</body><script language="JavaScript">  function prevYear(){
    drawCalendar(gYear-1, gMonth, gDay);
  }
  function nextYear(){
    drawCalendar(gYear+1, gMonth, gDay);
  }  function prevMonth(){
    drawCalendar(gYear, gMonth-1, gDay);
  }
  function nextMonth(){
    drawCalendar(gYear, gMonth+1, gDay);
  }  function today(){
    var d = new Date();
    drawCalendar(d.getFullYear(), d.getMonth()+1, d.getDate());
  }  today(); // 初始化页面,显示当前月份的日历。
</script>  
  
  <body>
   <s:form action="yyh.action">
    <table align="center">
    <tr><td><s:textfield name="yyh.yyhAccount" label="账号(非空)"/></td></tr>
    <tr><td><s:textfield name="yyh.yyhPassword" label="密码(非空)"/></td></tr>
    <tr><td><s:textfield name="yyh.re" label="备注"/></td></tr>
    <tr><td><s:submit value="提交"/></td></tr>
    </table>
    </s:form>
  </body>
</html>请有经验的大侠给点思路,能给些代码当然更好,谢谢。主要是不知道实际开发中这种功能是用什么方法做的。