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> "
+ "<a href='javascript:prevMonth()' title='上一月'>3</a> "
+ year + "年" + (month+1) + "月 "
+ "<a href='javascript:nextMonth()' title='下一月'>4</a> "
+ "<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"> </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>请有经验的大侠给点思路,能给些代码当然更好,谢谢。主要是不知道实际开发中这种功能是用什么方法做的。
<%@ 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> "
+ "<a href='javascript:prevMonth()' title='上一月'>3</a> "
+ year + "年" + (month+1) + "月 "
+ "<a href='javascript:nextMonth()' title='下一月'>4</a> "
+ "<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"> </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>请有经验的大侠给点思路,能给些代码当然更好,谢谢。主要是不知道实际开发中这种功能是用什么方法做的。
解决方案 »
- 新手问题
- 不显示删除回复显示所有回复显示星级回复显示得分回复 Java对象流,大家来看看,帮我讲解下,这里谢谢大家了
- 求一个正则表达式 过滤所有不在<script /script>之间的html注释<!----> 急急 在线等
- 关于xml文件配置的问题,急死了!
- 能否让一个虚拟机实例里的运行的应用程序所调用的类运行在另一个虚拟机实例里?
- java对于公式的求解问题
- 请高手帮助,Java与sqlserver2000数据库连接的问题 ---很急搞不懂为什么!!!!!!
- 内部类
- 四舍五入的问题请指点!谢谢!
- exception in thread "main" java.lang.NoClassDeffoundError:FindMax/class出现这种错误提示,我错在哪呢?
- 请教 j2se打印传真纸的打印代码
- 求webservice axis2 与 cxf 的区别?
反正现在有点晕,呵呵