欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
Lotus Domino 和 IBM WebSphere 集成解決方案: Domino JSP 標簽庫
在 Lotus Domino 中管理數據,但又要利用 IBM WebSphere 高度可伸縮的優(yōu)點(diǎn),事務(wù)型的 J2EE 平臺使用下面這些解決方案的一種:Domino XML 或 Domino JSP 標簽庫。在本系列的第二篇文章中,我們將重點(diǎn)介紹 Domino JSP 標簽庫。

在這個(gè)由兩部分組成的系列文章的 第 1 部分 中,我們將介紹如何使用 Domino XML(也稱(chēng)為 DXL)集成 Lotus Domino 和 IBM WebSphere。DXL 可以讓您訪(fǎng)問(wèn) Domino 對象,而不用了解太多有關(guān) Lotus Domino 的知識。然而,具有一些 Java 方面的經(jīng)驗對于使用 DXL 方法來(lái)說(shuō)也是必要的。對于那些 Java 經(jīng)驗很少的 Notes 應用程序開(kāi)發(fā)者來(lái)說(shuō),可以使用 Lotus Domino Toolkit for WebSphere Studio 中提供的 Domino JSP 標簽庫。(這個(gè)工具包在 Lotus Notes/Domino 6.0.2 及更新的版本中可用,用戶(hù)可以從 Passport Advantage 下載這個(gè)工具包。)

從 Lotus Domino 6 開(kāi)始,Lotus 提供了兩個(gè) JSP 標簽庫。這兩個(gè)標簽庫讓程序員可以開(kāi)發(fā)與 J2EE 兼容的應用服務(wù)器上的 Lotus Domino 進(jìn)行交互的 J2EE 應用程序。在可以使用標簽庫之前,那些想要將自己的應用程序與 Lotus Domino 連接的 JSP 開(kāi)發(fā)者必須把 CORBA 和 IIOP 調用構建在應用程序中。這導致很大的復雜性,并且經(jīng)常需要使用一些特定于數據庫的代碼,這些代碼幾乎是不可重用的。隨著(zhù)協(xié)作能力需求的增長(cháng),需要一種更智能的、功能更強大的解決方案。

Lotus 了解到了這種需求,因此創(chuàng )建了兩個(gè)標簽庫,它們對通用的 Lotus Domino 和 J2EE 功能進(jìn)行了抽象和封裝。這些庫是在標簽庫描述符 domtag.tld 和 domutils.tld 中定義的。Domutils.tld 定義了處理所有 J2EE 應用程序通用的任務(wù)的工具標簽。這些標簽不是 Lotus Domino 特有的,可以獨立于 Domino 服務(wù)器應用于任何應用程序。在 domtag.tld 中定義的標簽是 Lotus Domino 特有的。它們提供了對所有的 Domino 元素的編程訪(fǎng)問(wèn)能力,包括設計、訪(fǎng)問(wèn)控制列表和文檔。在本文中,我們將著(zhù)重介紹 Domino 特有的標簽(在 domtag.tld 中定義的標簽)。從現在開(kāi)始,我們就將其簡(jiǎn)稱(chēng)為 taglib。

開(kāi)始之前

taglib 比第一篇文章中所介紹的 XML 方法需要更深入的 Lotus Domino 方面的知識。它使用了 Domino 框架中的一些專(zhuān)用術(shù)語(yǔ)和控件。為了有效地使用 taglib,重要的是您要深入理解 Lotus Domino、各種設計元素以及您要訪(fǎng)問(wèn)的數據的結構。對第 1 部分的路線(xiàn)圖部分進(jìn)行回顧可以幫助您確定這種方法是否更適合于您和您的應用程序。

需求

taglib 遵守 JSP 1.1 和 Servlet 2.2 規范,支持大部分 J2EE 兼容的應用服務(wù)器。本文中的例子要安裝到 IBM WebSphere Application Server 5.1 上,并使用 WebSphere Studio Application Developer 進(jìn)行開(kāi)發(fā)。本文假設您熟悉 Domino 對象和術(shù)語(yǔ),并且了解使用 WebSphere Studio Application Developer 進(jìn)行 J2EE 編程的基本知識。

注意:如果不準備讓 Lotus Domino 來(lái)處理 IIOP,在使用 taglib 時(shí)就不需要任何 CORBA 或 IIOP 編程的知識。

軟件需求如下:

  • WebSphere Application Server 5.x 或其他 J2EE 兼容的應用服務(wù)器
  • Lotus Domino 6.x,并且安裝并啟用了 DIIOP 服務(wù)

準備 Lotus Domino

taglib 使用 CORBA(Command Object Request Broker Architecture)和 IIOP(Internet Inter-ORB Protocol)技術(shù)與 Lotus Domino 進(jìn)行通信。您必須設置 Domino 服務(wù)器監聽(tīng) IIOP 請求。首先,確保已經(jīng)安裝了 DIIOP。在 Domino 終端中執行 show task 或 load diiop 命令,可以幫助判斷現在是否已經(jīng)安裝了 DIIOP。如果還沒(méi)有安裝,請從 Domino 安裝光盤(pán)上安裝 DIIOP。

接下來(lái),編輯 Domino 服務(wù)器的 Notes.ini 文件,設置為在啟動(dòng) Lotus Domino 時(shí)自動(dòng)加載 DIIOP。找到以 ServerTasks 開(kāi)始的那一行。在本行的最后,添加 diiop。重新啟動(dòng) Domino 服務(wù)器,并檢查是否有 DIIOP 服務(wù)器的啟動(dòng)消息。


圖 1. 在服務(wù)器啟動(dòng)過(guò)程中啟動(dòng) DIIOP 進(jìn)程

在 DIIOP 進(jìn)程啟動(dòng)時(shí),它在 Domino HTTP 根目錄(Windows 中 Domino 默認的安裝目錄為 C:\lotus\domino\data\domino\html)中創(chuàng )建一個(gè)名為 diiop_ior.txt 的 IOR(Internet Object Reference)對象。如果您使用 Lotus Domino 作為 HTTP 服務(wù)器,就必須告訴 DIIOP 將這些文件放到您的 HTTP 服務(wù)器的根 HTML 目錄中。

  1. 打開(kāi) Domino Server 文檔。
  2. 選擇 Internet Protocols 標簽 - DIIOP 子標簽。
  3. 在 External HTML directory 字段中,輸入非 Domino HTTP 服務(wù)器的根 HTML 目錄的完整路徑名。
  4. 保存這個(gè) Server 文檔,并重新啟動(dòng) DIIOP。


圖 2. Server 文檔的 DIIOP 部分


使用一個(gè) Web 瀏覽器測試并查看該文件是否可以訪(fǎng)問(wèn):http://127.0.0.1/diiop_ior.txt


圖 3. Web 瀏覽器中的 diiop_ior.txt 文件



回頁(yè)首


配置 J2EE 應用程序環(huán)境

要使用 taglib,需要兩個(gè) JAR 文件:NCSO.jar 或 Notes.jar(請參閱側欄)和 domtag.jar。

  1. 在 Windows Explorer 中,打開(kāi) [Notes installation path]\Data\domino\java。找到并將 domtags.jar 和 NCSO.jar 拷貝到 Web 應用程序的 WEB-INF/lib 目錄中。

    注意:如果您有多個(gè) Web 應用程序使用 taglib,請將這些文件拷貝到應用服務(wù)器的共享庫目錄中。


    圖 4. WebSphere Studio Application Developer 的 J2EE 視圖

  2. 在 [Notes installation path]\Data\domino\java 目錄中,找到并將 domtags.tld 拷貝到項目的 WEB-INF 目錄中。這個(gè)文件就是標簽庫描述符(即 TLD 擴展)。它說(shuō)明這些標簽是相關(guān)于底層的 Java 代碼的,因此應用服務(wù)器可以理解這些標簽。
  3. 接下來(lái),找到并打開(kāi) Web 應用程序的 web.xml 文件。添加下面的 taglib 引用,并保存所做的修改。

    
    <taglib id="domtags">
    		<taglib-uri>domtags.tld</taglib-uri>
    		<taglib-location>/WEB-INF/domtags.tld</taglib-location>
    	</taglib>
    

下面是一個(gè) web.xml 文件的例子:


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app id="WebApp">
	<display-name>ArticleWeb</display-name>
	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
		<welcome-file>index.htm</welcome-file>
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>default.html</welcome-file>
		<welcome-file>default.htm</welcome-file>
		<welcome-file>default.jsp</welcome-file>
	</welcome-file-list>
	<taglib id="domtags">
		<taglib-uri>domtags.tld</taglib-uri>
		<taglib-location>/WEB-INF/domtags.tld</taglib-location>
	</taglib>
</web-app>

Domino 提供了兩個(gè) JAR 文件,用于編程訪(fǎng)問(wèn) Domino 對象。這兩個(gè)文件是 Notes.jar 和 NCSO.jar。Notes.jar 用來(lái)訪(fǎng)問(wèn) 本地的 Domino 服務(wù)器(此時(shí) Lotus Domino 和 Java 程序運行在相同的服務(wù)器上)。NCSO.jar 包含了用來(lái)訪(fǎng)問(wèn)遠程服務(wù)器的其他 CORBA/IIOP 代碼。

在決定使用哪個(gè) JAR 文件時(shí),請考慮以下因素:

  • 運行的 Java 程序和 Lotus Domino 的相對關(guān)系如何?如果它們運行在相同的機器上,那么使用 Notes.jar 可以獲得更好的性能。
  • 您關(guān)心可擴展性嗎?即使現在您是在相同的機器上運行 Java 程序(單獨的 Java 程序和非 J2EE 的程序)和 Lotus Domino,將來(lái)您可能會(huì )發(fā)現需要將其擴展到專(zhuān)用的服務(wù)器上。在這種情況中,請使用 NCSO.jar ,這樣可以獲得更好的適應能力。
  • Java 程序要在一個(gè)應用服務(wù)器上運行嗎?在 WebSphere 的情況中,即使它與 Lotus Domino 在相同的機器上,也需要使用 NCSO.jar。

設置默認的參數

taglib 有很多上下文參數(Context Parameter),您可以在 web.xml 文件中進(jìn)行設置。我們高度推薦您盡可能利用這些應用程序范圍的參數,這樣可以提高程序的可移植能力,并且簡(jiǎn)化將來(lái)的維護工作。

在我們的例子中,我們設置了主機名(127.0.0.1)和數據庫(articleSample.nsf)作為上下文參數,它們分別是 lotus.domino.default.host 和 lotus.domino.default.dbname。

要這樣設置,請打開(kāi) web.xml,然后添加以下行并保存。


	<context-param id="dominohost">
		<param-name>lotus.domino.default.host</param-name>
		<param-value>127.0.0.1</param-value>
	</context-param>
	<context-param id="dominodbname">
		<param-name>lotus.domino.default.dbname</param-name>
		<param-value>articlesample.nsf</param-value>
	</context-param>



回頁(yè)首


使用 domtags

在接下來(lái)的部分中,我們將使用在上一篇文章中使用的 Car 數據庫。我們將構建 4 個(gè) JSP,它們分別實(shí)現以下功能:

  • 顯示一個(gè)文檔。
  • 顯示一個(gè) Domino 視圖的內容。
  • 啟用 Domino 視圖搜索。
  • 允許用戶(hù)創(chuàng )建并編輯文檔。

在開(kāi)始之前,您必須在所有使用 taglib 的 JSP 中都包括這個(gè) taglib 的聲明。它告訴應用服務(wù)器每個(gè)以單詞 domino 開(kāi)始的標簽都是對domtags 標簽庫描述符中一個(gè)項的引用。例如, <domino:db>。(盡管您可以使用不同的前綴,但是我們高度建議使用 domino 作為前綴。)

<%@ taglib uri="domtags.tld" prefix="domino" %>

顯示文檔

我們首先創(chuàng )建一個(gè)簡(jiǎn)單的 JSP 來(lái)顯示一個(gè) Notes 文檔的內容。它利用一個(gè)單獨的查詢(xún)字符串 uid,其值為所請求文檔的惟一 ID。在 JSP 編輯器中,創(chuàng )建一個(gè)新的 JSP disptagcar.jsp。首先輸入前面提到的 taglib 聲明。包括一個(gè)包含 lotus.domino.* 的 import 行是一個(gè)好主意,因為這樣可以允許您直接訪(fǎng)問(wèn) Domino 對象。后面我們會(huì )使用很多這種聲明。


<%@ taglib uri="domtags.tld" prefix="domino" %>
<%@page import="lotus.domino.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<%@ page 
language="java"
contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"
%>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Vehicle information using Domino Tag Library</title>
</head>
<body>
<h1>Vehicle information using Domino Tag Library for <%= (String) request.getParameter("unid")%></h1>
<domino:document>
<table border="1" width="100%" cellspacing="0" cellpadding="0">
	<tr bgcolor="#ccff00">
		<th>Make</th>
		<th>Model</th>
		<th>Body Type</th>
		<th>Engine</th>
		<th>Year</th>
		<th>Specifications</th>
	</tr>
	<tr>
		<td>
			<domino:item name="make"/>
		</td>
		<td>
			<domino:item name="model"/>
		</td>
		<td>
			<domino:item name="bodytype"/>
		</td>
		<td>
			<domino:item name="enginetype"/>
		</td>
		<td>
			<domino:item name="year"/>
		</td>
		<td>
			<domino:item name="specifications" format="<LI>"/>
		</td>
	</tr>
</table>
</domino:document>
</body>
</html>

<domino:document> 標簽可以顯示 Notes 文檔的內容。使用這個(gè)標簽,您的代碼可以訪(fǎng)問(wèn)一個(gè)特定文檔的所有項目和屬性。在某些情況中,您可能希望為文檔標簽中的 dbserver、dbname 和 unid 屬性傳遞值。注意在我們的例子中不會(huì )這樣做。原因是由于必需的信息早已在其他地方指定了。服務(wù)器的主機名和數據庫的文件名早已在 Web 部署描述符(web.xml)中定義了。UNID 是在查詢(xún)字符串參數 unid 中隱式指定的。

如果由于某些原因,您不想在 URL 中暴露這個(gè) UNID,那么就必須在 unid 屬性中明確地說(shuō)明文檔標簽。


<%
String unid = [[code that obtains the document unid]];
%>

<domino:document unid=’<%= unid %>’>

<domino:item> 標簽顯示了在 name 屬性中指定的項目的內容。例如,<domino:item name="make"/> 顯示了保存在 make 項中的值。引用 specifications 字段的最后一個(gè)標簽具有一個(gè) format 屬性。這個(gè)屬性告訴標簽庫如何顯示 JSP 中的值。為這個(gè)屬性提供的值稱(chēng)為關(guān)鍵字(keyword)。在一個(gè) format 屬性中,可以使用多個(gè)關(guān)鍵字。

回想一下,specifications 字段是一個(gè)多值字段;它可以包含多個(gè)值。<li> 關(guān)鍵字告訴 <domino:item> 標簽對 <li> 和 </li> 標簽中的內容自動(dòng)進(jìn)行換行。

顯示視圖的內容

Domino 視圖可以通過(guò) <domino:view> 標簽進(jìn)行訪(fǎng)問(wèn)。例如,在我們的 car 的例子中,有一個(gè)簡(jiǎn)單的視圖 Cars\By VIN,它有兩列:vin 和 make。這個(gè)視圖還有一個(gè)別名 vins,這就是我們在視圖標簽中要引用的內容。


圖 5. Notes 客戶(hù)機顯示 VINs 視圖

下面是用來(lái)將 VINs 視圖顯示為 HTML 文件的 JSP 代碼。


<%@ taglib uri="domtags.tld" prefix="domino" %>
<%@page import="lotus.domino.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<%@ page 
language="java"
contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"
%>
<%
String count = "30";
if(request.getParameter("count")!=null);
	count = (String)request.getParameter("count");
%>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Car List using Domino Tag Library</title>
</head>
<body>
<h1>Car List using Domino Tag Library</h1>
<domino:db>
	<table border="1">
		<tr bgcolor="#ffcccc">
			<th>
				VIN
			</th>
			<th>
				Make
			</th>
			<th>
				Model
			</th>
		</tr>
		<domino:view viewname="vins" max="<%= count %>">
			<domino:viewloop>
				<tr>
					<td>
						<domino:formlink href="disptagcar.jsp" >
							<domino:viewitem name="vin" />
						</domino:formlink>
					</td>		
					<td>
							<domino:viewitem name="make" />
					</td>
					<td>
						<domino:item name="model" /> 	
					</td>	
				</tr>
			</domino:viewloop>
		</domino:view>
	</table>
</domino:db>
</body>
</html>


圖 6. JSP 顯示 VINs 視圖的內容

查看視圖的 JSP

下面讓我們考查一下上面這個(gè) JSP。在下一節我們將使用這個(gè) JSP 來(lái)構建一個(gè)搜索頁(yè)面。

  • 數據庫
    <domino:db> 標簽為應用程序提供了數據庫的內容。因為我們已經(jīng)在 web.xml 中定義了一個(gè)默認的數據庫,因此不需要在這兒再定義了。如果沒(méi)有在 web.xml 中定義缺省的數據庫,或者希望訪(fǎng)問(wèn)除了在 web.xml 中定義的數據庫之外的其他數據庫,就需要在這里通過(guò)定義屬性 dbname 提供一些信息,如果數據庫位于另外一個(gè)服務(wù)器上,還要定義 dbserver 屬性。
  • View
    將 <domino:view> 標簽放在 <domino:db> 標簽中,這樣可以提供對這個(gè)數據庫中的指定視圖的訪(fǎng)問(wèn)權限。您必須提供視圖名作為 viewname 屬性中的一個(gè)屬性。您可以使用該視圖的別名。max 屬性控制了每個(gè)頁(yè)面中顯示的項的個(gè)數。
  • Viewloop
    這個(gè)標簽提供了交互訪(fǎng)問(wèn)視圖中的每一項的能力。它循環(huán)遍歷視圖,并提供對其內容的訪(fǎng)問(wèn)能力。在這個(gè)例子中,我們只是使用稍后介紹的 viewitem 標簽簡(jiǎn)單地打印視圖的內容。
  • Formlink
    <domino:formlink> 標簽動(dòng)態(tài)地構建 <a href> 到指定 JSP 的鏈接。結果頁(yè)面應該包括一些格式的標簽庫代碼,它們可以顯示文檔的內容。在我們的例子中,將使用在最后一節中構建的 JSP(disptagcar.jsp)。
  • Viewitem
    <domino:viewitem> 標簽提供了對視圖項的直接訪(fǎng)問(wèn)能力。name 屬性會(huì )引用實(shí)體中的一個(gè)列名。name 的值是大小寫(xiě)敏感的,必須與列標題完全匹配。

    <domino:viewitem name="vin" />
    <domino:viewitem name="make" />

  • Item
    <domino:item> 標簽提供了對文檔中的一個(gè)字段的訪(fǎng)問(wèn)能力。name 屬性是指要檢索的字段。

<domino:item> 和 <domino:viewitem> 之間的區別如下:<domino:item> 必須打開(kāi)文檔才能檢索值,而 <domino:viewitem> 則使用視圖中顯示的值。只要可能,在 viewloop 的上下文中就應該避免使用 item 標簽,因為這樣可能會(huì )造成嚴重的性能問(wèn)題。



回頁(yè)首


視圖搜索

在本節中,我們將討論如何修改所創(chuàng )建的視圖 JSP,從而讓它可以支持搜索功能。

要正確使用全文搜索功能,必須激活 Domino 數據庫的全文索引。要查看一個(gè)數據庫是否進(jìn)行了索引,請打開(kāi) Database Properties 對話(huà)框,并點(diǎn)擊 Search 選項卡。如果數據庫沒(méi)有進(jìn)行索引,那么就點(diǎn)擊 Create Index 按鈕。Notes 客戶(hù)機的狀態(tài)條會(huì )告訴您這個(gè)請求是否已經(jīng)排入了隊列。全文索引通常很快就可以建好。


圖 7. 數據庫全文索引屬性選項卡

我們的搜索表單會(huì )包含這三個(gè)字段用于一個(gè)可定制的搜索:查詢(xún),返回結果的最大個(gè)數,結果頁(yè)面中每頁(yè)顯示的個(gè)數。我們使用上一節中的視圖 JSP 作為這個(gè) JSP 的基礎。

下面是這個(gè) JSP 代碼中處理搜索功能的部分:


<domino:view viewname="vins" ftsearch=‘<%= query %>‘ max=‘<%= max %>‘>
	<domino:page rows=‘<%= count %>‘>
		<tr><td colspan="3" align="right">Go to page: 
		<domino:pagebar navstyle="NextPrev" />   
		<domino:pagenext>Next></domino:pagenext></td></tr>
		<domino:viewloop>
			<tr>
				<td>
					<domino:formlink href="disptagcar.jsp" >
						<domino:viewitem name="vin" />
					</domino:formlink>
				</td>		
				<td>
					<domino:viewitem name="make" />
				</td>
				<td>
					<domino:item name="model" /> 	
				</td>
			</tr>
		</domino:viewloop>
		<domino:novalues>
			<tr>
				<td>
				The search for <%= query %> found no matches. Use another keyword and try again.
				</td>
			</tr>
		</domino:novalues>
		<tr><td colspan="3" align="right">Go to page: 
		<domino:pagebar navstyle="NextPrev" />   
		<domino:pagenext>Next></domino:pagenext></td></tr>
	</domino:page>
</domino:view>

查看 Search 視圖的 JSP

下面讓我們更詳細地查看一下 Search 視圖的 JSP。

  • View
    要構建一個(gè)搜索視圖,我們只能添加兩個(gè)屬性到 <domino:view> 標簽中:ftsearch 和 max。ftsearch 是查詢(xún)的字符串,max 是要返回的結果的最大個(gè)數。
  • Page
    這個(gè)標簽為顯示視圖內容和搜索結果提供了分頁(yè)控制。它的行屬性限制了一個(gè)頁(yè)面中的項數。這個(gè)標簽為提供導航特性的標簽提供了內容。
  • Pagebar
    在 page 標簽的上下文中,<domino:pagebar> 可以自動(dòng)生成到搜索結構的頁(yè)面的鏈接。這些到當前頁(yè)面的鏈接是粗體的,而且是不能點(diǎn)擊的。
  • Pagenext
    這個(gè)標簽自動(dòng)生成了到下一個(gè)頁(yè)面的鏈接。這個(gè)標簽的主體就是該鏈接的文本標簽。在這種情況中,我們使用 Next >。您可以將這個(gè)標簽與 pagebar 一起使用,從而創(chuàng )建一個(gè)類(lèi)似于圖 8 所示的頁(yè)面導航系統。
    圖 8. 導航條

  • Novalues
    這個(gè)標簽的主題是在搜索不返回任何結果時(shí)所顯示的文本。在我們的例子中,會(huì )顯示消息“The search for [query] found no matches. Use another keyword and try again.”



回頁(yè)首


表單

在這最后一節中,我們會(huì )創(chuàng )建一個(gè) JSP 表單,用戶(hù)可以使用這個(gè)表單來(lái)創(chuàng )建并修改 Notes 文檔。出于簡(jiǎn)單性的考慮,我們的示例數據庫允許匿名作者訪(fǎng)問(wèn)。在真實(shí)生活中的應用程序中,安全性實(shí)在是要關(guān)注的一個(gè)問(wèn)題,更明智的方法是使用一個(gè)集中的用戶(hù)注冊(例如 LDAP),并采用單點(diǎn)登錄(SSO)功能。將 WebSphere 設置為一個(gè)可信的容器,為 Lotus Domino 處理授權和認證的功能。有關(guān) WebSphere 和 Lotus Domino 的 SSO 的更多信息,請參閱 WebSphere Application Server InfoCenter。

我們的表單提供了以下特性:

  • 允許用戶(hù)創(chuàng )建文檔。顯示一條消息說(shuō)明用戶(hù)正在創(chuàng )建一個(gè)新文檔。
  • 允許用戶(hù)編輯現有的文檔。顯示一條消息說(shuō)明用戶(hù)正在修改一個(gè)現有的文檔。
  • 對輸入信息進(jìn)行有效性驗證。如果有效性驗證失敗,就顯示定制的錯誤消息。
  • 當用戶(hù)成功提交表單時(shí),將用戶(hù)重定向到一個(gè)感謝頁(yè)面上。

這個(gè) Form JSP 的詳細代碼,請參閱“Form JSP 代碼”。

form 標簽

<domino:form> 標簽提供了對指定文檔的編輯訪(fǎng)問(wèn)能力。它可以支持很多用來(lái)支持高級操作主機的屬性。在我們的例子中,使用了更通用的一些屬性。下面讓我們仔細查看一下:

  • Name
    這是表單對象的名字。其值會(huì )被用作 HTML 表單名。該值在每個(gè) JSP 中都是惟一的。
  • Schema
    這個(gè)值對應于 Domino 表單的名字,這個(gè)文檔應該使用這個(gè)名字進(jìn)行保存。對這個(gè)表單會(huì )執行 Domino 表單的保存前處理(QuerySave)操作。設置這個(gè)值還會(huì )隱式地將其放入該文檔的 form 字段中。
  • Editmode
    這個(gè)屬性接受 3 個(gè)值:display、edit 和 delete。雖然您可以為這個(gè)屬性設置固定的值,但是可能最有用的方式是,根據代碼中的邏輯、以編程的方式給這個(gè)屬性賦值。
  • Validhref
    這個(gè)值是您希望在對表單進(jìn)行有效性驗證并保存之后將用戶(hù)重定向到的頁(yè)面。
  • Clientvalidate
    將這個(gè)值設置為 true 會(huì )導致對表單根據 validation 標簽對用戶(hù)輸入進(jìn)行有效性驗證。反之,將該值設置為 false 會(huì )導致該表單忽略所有的 validation 標簽。
  • User
    指定正在訪(fǎng)問(wèn) Domino 數據的用戶(hù)名。當使用 J2EE 容器進(jìn)行認證時(shí),請將該值設置為 *webuser。有關(guān) taglib 安全性的詳細信息,請參閱 Domino Designer Help。
  • Unid
    如果在 JSP 查詢(xún)字符串中有一個(gè) unid 參數,那么 form 標簽就會(huì )使用這個(gè) unid 來(lái)打開(kāi)一個(gè)文檔。您也可以在 unid 屬性中傳遞這個(gè) unid。
  • Input 標簽
    input 標簽創(chuàng )建 HTML 的輸入字段。name 屬性指明該項要保存的值。默認情況下,數據類(lèi)型是 text。在需要其他數據類(lèi)型的情況中,請指定數據類(lèi)型屬性來(lái)匹配表單模式中的字段。對于多值字段來(lái)說(shuō),要設置 multivalue="true",并使用 mveditseparator 和 mvdisplayseparator 指定值的分隔符。在我們的例子中,使用了逗號來(lái)分隔要編輯的值,使用分號來(lái)分隔要顯示的值。
  • Validation 標簽
    這些標簽負責在保存表單之前對輸入信息進(jìn)行有效性驗證。Lotus 提供了很多 validation 標簽來(lái)對不同的數據類(lèi)型進(jìn)行有效性驗證。在我們的例子中,使用更通用的一些標簽:validaterequired 和 validatepattern。您可以對每個(gè)字段使用多個(gè) validation 標簽。

現在,讓我們來(lái)查看一下使用的 validation 標簽:

  • Validatesummary
    這個(gè)標簽顯示了檢測有效性驗證失敗的 validation 標簽的 message 屬性的值。將這個(gè)標簽放到表單的頂部,這樣用戶(hù)就可以對自己是否填寫(xiě)了表單而一覽無(wú)余了。
  • Validaterequired
    這個(gè)標簽確定 name 屬性中的字段是否為空。如果非空,那就會(huì )在頁(yè)面上顯示這個(gè)標簽的主體。將這個(gè)標簽放到下一個(gè)字段中,從而精確地說(shuō)明用戶(hù)應該重點(diǎn)注意哪些內容。
  • Validatepattern
    在基本的 validation 標簽不夠用的地方,可以使用這個(gè)標簽來(lái)創(chuàng )建用戶(hù)定制的有效性驗證規則。這個(gè)標簽的核心依賴(lài)于 Apache 的 regexp 庫對用戶(hù)輸入的值進(jìn)行有效性驗證。構建一個(gè)說(shuō)明所期望值格式的正則表達式,并將其放到 pattern 屬性中。然后這個(gè)標簽就會(huì )將用戶(hù)輸入的數據與正則表達式進(jìn)行比較。在我們的例子中,validatepattern 標簽會(huì )檢查 year 字段是一個(gè)數字類(lèi)型,有 4 個(gè)字符長(cháng)。

document 標簽

<domino:document> 標簽提供了對 Notes 文檔本身的訪(fǎng)問(wèn)能力。id 屬性的存在標記著(zhù) taglib 分配一個(gè)名稱(chēng)為 id 標簽中的值的 lotus.domino.Document 對象。在我們的例子中,這個(gè)對象是 doc。這為程序員提供了完全編程訪(fǎng)問(wèn)該對象的屬性和方法的能力;在普通的 Java 代碼中可以對 taglib 進(jìn)一步地擴展使用。這個(gè)功能強大的工具在 taglib 中的大部分標簽中都可以使用。要學(xué)習更多有關(guān) Domino Java 類(lèi)的知識,請參閱 Domino Designer Help。



回頁(yè)首


結束語(yǔ)

在本文中,我們討論了如何使用 Domino JSP 標簽庫進(jìn)行編程,從而構建功能強大的啟用 Domino 的 J2EE 應用程序。通過(guò)幾個(gè)例子,我們討論了最常用的標簽,并詳細介紹了它們背后的概念。本系列文章中介紹的內容應該可以幫助您在現有的 Domino 環(huán)境中采用 J2EE 技術(shù)。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Java 對 Domino Objects 的訪(fǎng)問(wèn),第 2 部分
workPlace介紹
知已知彼--Lotus培訓>>無(wú)憂(yōu)題庫網(wǎng)
外國沒(méi)有OA
理解 IBM Lotus Domino 郵件數據庫的限額
ODBC實(shí)現Domino和關(guān)系數據庫的互操作
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久