果洛皆料电子有限公司

開發(fā)高效率企業(yè)動態(tài)Web系統(tǒng)

  • 發(fā)布于:2023-07-16
  • 197 人圍觀

由Sun等多家公司推出的JSP動態(tài)網(wǎng)頁技術(shù)已經(jīng)廣泛流行。它繼承了Java的跨平臺、可移植、高性能等特點(diǎn),使得在功能和安全性能上都優(yōu)于Microsoft公司的ASP。很多JSP程序設(shè)計(jì)者在使用JSP進(jìn)行動態(tài)網(wǎng)站開發(fā)時(shí),認(rèn)識到使用JavaBean技術(shù)進(jìn)行功能封裝的重要性,但是卻忽視了Tag Library這一關(guān)鍵技術(shù)的使用。眾所周知,HTML語言就是一種純標(biāo)記語言,如果要實(shí)現(xiàn)設(shè)置“Hello”為紅色字體的功能,只需用<font color="red">Hello</font>就可以了。那么,<font>就是一個(gè)典型的標(biāo)記,color是它的屬性?,F(xiàn)在,假設(shè)想要通過類似的標(biāo)記方法來實(shí)現(xiàn)Email的發(fā)送,也要定義一個(gè)<sendmail 屬性>......</sendmail>的標(biāo)記,然后就可以用<sendmail ……>lzwasp@263.net</sendmail>把一封信發(fā)到lzwasp@263.net信箱中了。 Tag Library指的就是關(guān)于<sendmai>這類標(biāo)記的標(biāo)記庫。它類似于函數(shù)庫或組件,但又有別于這兩者,因?yàn)樗鼘⒐δ苡靡环N標(biāo)記和標(biāo)記中的屬性來表達(dá)實(shí)現(xiàn)。Tag Library是XML技術(shù)與JSP結(jié)合的產(chǎn)物,主要體現(xiàn)在用標(biāo)記(Tag)來表達(dá)和實(shí)現(xiàn)想要實(shí)現(xiàn)的功能。目前,大多數(shù)的JSP服務(wù)提供商開發(fā)的JSP引擎都支持Tag Library技術(shù),比如著名的Apache組織的Tomcat、IBM公司的WebSphere、BEA公司的WebLogic等都是很典型的JSP服務(wù)平臺。不僅如此,這些引擎還開發(fā)擴(kuò)展了很多出色的Tag,封裝成Tag Library,方便開發(fā)者的調(diào)用。Allaire公司推出的JRun在這些服務(wù)平臺中一枝獨(dú)秀。它具備良好的性能,同時(shí)還提供了自帶的Tag Library,即Jruntags。Jruntags可以實(shí)現(xiàn)動態(tài)網(wǎng)頁設(shè)計(jì)中諸多重要功能,如數(shù)據(jù)庫連接和操作、電子郵件的送取等。下面以一實(shí)例介紹在JRun平臺上如何應(yīng)用Jruntags來增強(qiáng)動態(tài)網(wǎng)頁的開發(fā),提高開發(fā)效率。

應(yīng)用實(shí)例

本文實(shí)例主要是讓學(xué)生在線查看課程目錄,并進(jìn)行網(wǎng)上選課,以計(jì)算機(jī)處理的方式增強(qiáng)統(tǒng)計(jì)、分類,減少人為操作的復(fù)雜性。

 

數(shù)據(jù)庫表

用Access建一個(gè)數(shù)據(jù)庫test.mdb,并在ODBC中創(chuàng)建一個(gè)名為db的數(shù)據(jù)源名,使其指向test.mdb數(shù)據(jù)庫,使用JDBC-ODBC Bridge進(jìn)行數(shù)據(jù)庫連接。其中,數(shù)據(jù)庫test.mdb內(nèi)有subject_tb 和stu_sub_tb兩張表,表結(jié)構(gòu)如下。

subject表:

字段 類型、長度 字段 類型、長度

課程號 Char(3)         課程名 Char(20)

教師 Char(10) 簡介 Char(50)


Stu_sub_tb表:

字段 類型、長度 字段 類型、長度

學(xué)號 Char(7)  課程號 Char(3)


部分程序代碼:

inc.jsp

<%@ page import="java.sql.*,allaire.taglib.*" %>

<%

String xh = request.getParameter("t2");

String subID = request.getParameter("t1");

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();

Connection con = DriverManager.getConnection("jdbc:odbc:db");

%>

select_sub.jsp

<%@ page contentType="text/html;charset=gb2312" %>

<%@ taglib uri="Jruntags" prefix="jrun" %>

<%@ include file="inc.jsp"%>

<jrun:if expr="<%= xh != null && subID != null %>">

<jrun:sql connection="<%= con %>">

INSERT INTO stu_sub_tb (學(xué)號,課程號)

VALUES (

<jrun:sqlparam value="<%=xh %>"/>,

<jrun:sqlparam value="<%=subID %>"/>)

</jrun:sql>

您己經(jīng)選修了課程號為<font color="red"><b>[<%=subID%>]</b></font>的課程。

</jrun:if>

<jrun:sql connection="<%= con %>" id="rs">

   SELECT * FROM subject_tb

</jrun:sql>

<center><b>選修課課程</b></center>

<table width="100%">

<tr>

<jrun:param id="rs" type="QueryTable"/>

<jrun:foreach item="field" type="String" group="<%= rs.Names %>">

    <td align="center"><b><%= field.toUpperCase() %></b></td>

</jrun:foreach>

<jrun:form method="post" name="form1">

<jrun:foreach group="page.rs">

<tr>

<jrun:foreach item="x" group="<%= rs.Values %>">

<td align="center"><%= x %></td>

</jrun:foreach>

</tr>

</jrun:foreach>

<td><b>我要選修一門:</b></td>

<td>

<jrun:input name="t1" value="課程號" onFocus="this.select()"

 class="form-input"onMouseOver="this.focus()" size="10"/>

</td>

<td><b>學(xué)號</b></td>

<td>&nbsp;&nbsp;&nbsp;

<jrun:input name="t2" type="text" size="10" />&nbsp;&nbsp;

<input type="Submit" name="tj" value="提   交">

</td>

<td>&nbsp;</td>

</tr>

</table>

</jrun:form>

 


功能和基本原理

從此實(shí)例可以看到,在select_sub.jsp中包含了inc.jsp這個(gè)文件,通過<%@ taglib uri="Jruntags" prefix="jrun" %>來調(diào)用Jruntags,并類似創(chuàng)建對象一樣定義了一個(gè)前綴jrun,實(shí)現(xiàn)了以“jrun”為前綴的各類標(biāo)記。<jrun:if……>和<jrun:foreach……>是程序設(shè)計(jì)中if判斷和for循環(huán)。<jrun:sql connection……>是建立數(shù)據(jù)庫的連接,并同時(shí)進(jìn)行select、insert、del等所有標(biāo)準(zhǔn)SQL的操作。這些操作都封裝在Tag中的。由此可以看出,Jruntags的使用非常容易,代碼簡短。

萬企互聯(lián)
標(biāo)簽: