编写JSP动态网页设计时,怎么应用JavaBean呢?下面是对JavaBean的使用讲解,并根据UFO的一个JavaBean演示实例做详解,有兴趣的朋
友可以去www.gm365.com下载最新版本的UFO,里面附带了近50个JSP、JavaBean、servlet的典型实例(针对中文用户)。
一、编写使用JavaBean的JSP文件,如UFO中的演示实例time.jsp:
<%@ page contentType="text/html;Charset=GB2312" %>
<%@ page import="ufobean.ShowCalendar" %>
<HTML><BODY>
<jsp:useBean id="clock" class="ufobean.ShowCalendar" scope="page" />
<Table border=4>
<tr>
<td align="center"><font color="blue"><jsp:getProperty name="clock" property="year"/></font>年</td>
<td><jsp:getProperty name="clock" property="month"/>月
<jsp:getProperty name="clock" property="dayOfMonth"/>日
星期<jsp:getProperty name="clock" property="day"/>
</td>
</tr>
<tr>
<td>当前时间为</td>
<td><jsp:getProperty name="clock" property="time"/></td>
</tr>
<tr>
<td>今天是今年的第</td>
<td><jsp:getProperty name="clock" property="dayOfYear"/>天</td>
</tr>
<tr>
<td>本周是今年的第</td>
<td><jsp:getProperty name="clock" property="weekOfYear"/>周</td>
</tr>
<tr>
<td>本周是本月的第</td>
<td><jsp:getProperty name="clock" property="weekOfMonth"/>周</td>
</tr>
</Table>
<jsp:getProperty name="clock" property="date"/>
</BODY></HTML>
在上面代码中的第二行<%@ page import="ufobean.ShowCalendar"%>这个语句,意思是引入ufobean包以及包中的文件;其次要注意
<jsp:useBean id="clock" class="ufobean.ShowCalendar" scope="page"/>语句,其中id的值是自定义的,class值是包名加点再加JavaBean
名,scope有几个值,默认值是page,另外还有session,application等等,这里用page。time.jsp多次用到<jsp:getProperty>,其作用是获
取JavaBean(ShowCalendar)的属性值,显示在页面中 。
JavaBean(ShowCalendar.java)代码如下:
package ufobean;
import java.util.*;
public class ShowCalendar{
Calendar calendar = null;
int year,dayOfMonth,dayOfYear,weekOfYear,
weekOfMonth,dayOfWeek,hour,minute,second;
String day,date,time;
public ShowCalendar(){
calendar = Calendar.getInstance();
Date time = new Date();
calendar.setTime(time);
}
public int getYear(){
return calendar.get(Calendar.YEAR);
}
public String getMonth(){
int m=1+calendar.get(Calendar.MONTH);
String months[]={"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12" };
if(m>12)
return "0";
return months[m-1];
}
public String getDay(){
int n =getDayOfWeek();
String days[]={"日","一", "二", "三","四", "五", "六"};
if(n>7)
return "星期?";
return days[n];
}
public String getDate(){
return getYear()+ "/" + getMonth()+"/"+getDayOfMonth();
}
public String getTime(){
return getHour() + ":" + getMinute() + ":" + getSecond();
}
public int getDayOfMonth(){
return calendar.get(Calendar.DAY_OF_MONTH);
}
public int getDayOfYear(){
return calendar.get(Calendar.DAY_OF_YEAR);
}
public int getWeekOfYear(){
return calendar.get(Calendar.WEEK_OF_YEAR);
}
public int getWeekOfMonth(){
return calendar.get(Calendar.WEEK_OF_MONTH);
}
public int getDayOfWeek(){
return calendar.get(Calendar.DAY_OF_WEEK)-1;
}
public int getHour(){
return calendar.get(Calendar.HOUR_OF_DAY);
}
public int getMinute(){
return calendar.get(Calendar.MINUTE);
}
public int getSecond(){
return calendar.get(Calendar.SECOND);
}
}
二、编译ShowCalendar.java文件
这里介绍在DOS下怎么编译JavaBean:开始——运行——输入cmd——通过cd..或者cd进入到JavaBean(ShowCalendar.java)所在目录,然后
输入命令:javac ShowCalendar.java后,就可以得到生成在ufobean包中的ShowCalendar.class字节文件了,到此编译完毕。 如果重新修改过
JavaBean,那么要先把以前的旧的.class文件删除掉,然后重新编译JavaBean。
三、在UFO中访问time.jsp文件调用JavaBean
1、在UFO原有的目录下运行time.jsp
a)、将time.jsp放置于UFO\webapps\ROOT目录下,将ShowCalendar.class放置于UFO\webapps\ROOT\WEB-INF\classes\ufobean目录下,
启动UFO,输入如下地址http://localhost:80/time.jsp,便可成功运行了。
b)、将time.jsp放置于UFO\webapps\examples目录下,将ShowCalendar.class放置于UFO\webapps\examples\WEB-INF\classes\ufobean
目录下,启动UFO,输入如下地址http://localhost:80/examples/time.jsp,就OK了。
2、自己在webapps目录下建立新目录
建立目录的时候要注意:文件夹名是WEB-INF,而不是WEN_INF,注意中间的横杠要写对;文件夹名是classes而不是class;classes下的包
名也得注意,它是跟你JavaBean里所起的包名相同,比如,你在JavaBean文件中有以下语句:import ufobean;就意味着你引入了名为ufobean
的包,那么在classes文件夹下的包名(文件夹名)应该是ufobean了。剩余步骤对比1、b)中的方法做就OK了。
四、整个jsp使用JavaBean的过程就是这样,大家都会了吧。 |