使用JavaBean创建您的网上日历本
2001-04-05· Wayne ·yesky
有的朋友曾经说过,如果有一个网上的日记本,或者一个网上的万年历能提醒自己到时去干什么事情就好了。其实呀,这样的日历本您自己也能做一个。不信你看下面的例子:
〈HTML〉
〈HEAD〉
〈TITLE〉万年历记事本〈/TITLE〉
〈/HEAD〉
〈BODY BGCOLOR ="white"〉
//设置页面脚本语言是java,导入HtmlCalendarNotePad类,HtmlCalendarNotePad在后面将会讲到
〈%@ page language="java" import="HtmlCalendarNotePad" %〉
//定义一个JavaBean,取其id为HtmlCal
〈jsp:useBean id="HtmlCal" scope="session" class="HtmlCalendarNotePad" /〉
〈%
// 设置参数,取所需的月份为3月,因为未设定年份,故默认为本年。
HtmlCal.setMonth(3);
//设置动作,3月24日时,去天极网,在新窗口打开(也可以以其他的方式打开)
HtmlCal.setAction(24,"http://www.yesky.com/","_blank");
%〉
〈TABLE WIDTH=300〉
〈TR〉〈TD NOWRAP〉
〈%=HtmlCal.getHtml()%〉 //以表格的形式输出一个月的月历
〈/TD〉〈/TR〉
〈/TABLE〉
〈/BODY〉
〈/HTML〉
你将看到如下输出结果
Mon Tue Wed Thu Fri Sat Sun
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
这不就跟日历本上一样了吗,不过它比日历本好在,有预设好的链接可以提醒您到时去某个站点,或行某个javascript函数,这样不又起了一个记事本的作用了吗?当然了,你也可以自己添加一些功能,使它变得更加强大,比如添加一个表单,可以让用户填写日记发送到您的系统的数据库中等等。为了完成这个目的,先让我们来看一看JavaBean程序是如何书写的。
JavaBean程序分析
我想把HtmlCalendarNotePad中的主要方法介绍一些,相信会大家有所帮助
public void setYear(int year) //设置年份 。默认值为当前的年份
public int getYear() //获得年份 。默认值为当前的年份
//这是标准Java程序写法,因为Java程序就是一个类所以经常写这种setXXX/getXXX
public void setMonth(int month) //设置月份(1-12),默认值为当前的月
public int getMonth() //获得月份(1-12),默认值为当前的月
public void setStyle(int style)
public int getStyle()
//设置/获得日历的样式(style)
//是以星期天为一星期的第一天HtmlCalendarNotePad.SUNDAY_FIRST还是以星期一为一星期的第一天 HtmlCalendarNotePad.MONDAY_FIRST
// 默认值为HtmlCalendarNotePad.SUNDAY_FIRST
public void setLocale(Locale loc) //设置地区代码(Locale), 默认值为Locale.PRC
public Locale getLocale() //获得地区代码(Locale), 默认值为Locale.PRC
public void setAction(int day, String actionUrl ,String target_frame)
//设置超链接,来处理请求。如果出了任何错误的话,该方法会返回一个空的字符串。
// 你可以设置一个普通的URL,如“http://www.yesky.com/action.jsp”
// 或者一个一个javascript 函数名, 如 “myFunction”
// 日期将被作为一个参数传给URL,或者作为一个字符串值传给 javascript. 格式是yyyymmdd.
// target_frame可以为空的字符串。
如:
如果调用setAction(21,"http://www.yesky.com/","_blank")
超链接为: 〈a href="http://www.yesky.com/?date=20000621" target=_blank〉21〈/a〉
public void setActions(String actionUrl, String target_frame)
//你也可以为一个月的每一天设置超链接
现在让我和大家一起来分享那颗诱人的豆子(Bean)吧:(HtmlCalendarNotePad.java)。
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;






