IBM Domino Designer 9 Social Edition 使用手冊

第 1 版

2013 年 3 月已發佈

關於本版

IBM 為遵守對協助工具的承諾,這版的產品文件是可以使用協助工具的版本。

本文件的更新項目

本 HTML 檔包含本版次正式產品說明文件的最新草稿。這個草稿會視需要於每季更新。關於最新產品說明文件的更新內容,請參閱 wiki 的「產品說明文件」區段中的版本特定文章。

列印

列印本文件時,會移除部分樣式元素以建立更佳的列印輸出。以下是一些列印的相關提示:
  • 文件長度可能會超出瀏覽器的列印範圍。Microsoft Internet Explorer 已示範順利列印大型檔案的能力。
  • 此文件很長。請使用預覽列印來決定列印的頁面長度。
  • 您可以強調顯示文件區段,然後選擇只列印選取的內容

離線工作

您可以從瀏覽器儲存此文件的本端副本。每一個瀏覽器的功能表和功能表選項不同。如果您在本端儲存文件時需要協助,請查閱瀏覽器說明。

提交建議與意見

如果您想要提供關於本文件的意見,請參閱 Documentation Feedback 網站。

IBM Domino Designer 9.0 Social Edition 的新增功能

Domino® Designer 中的新增功能及改善項目的相關資訊。

Domino Designer

本主題列出 Domino Designer 9.0 Social Edition 的新增功能及變更項目。

您可以在 Web 上取得「Domino Designer 說明」的定期更新項目。若要下載最新的「Designer 說明」檔案,請前往 developerWorks® 的「文件庫」區段,網址為 http://www.lotus.com/ldd/doc。依序按一下 Technical Library by product 及 Domino Designer,最後再按一下要參閱的版次。

一般而言,在 Domino Designer 的範圍內,已經新增或變更下列的內容:

JAR 設計元素 -- 此版次中已引進新的 JAR 設計元素。JAR 設計元素可讓您使用應用程式 NSF 中包括的已包裝 Java 程式碼/程式庫。此設計元素只可用於 XPage 應用程式, 其中,JAR 會自動由 XPage 執行時期載入。此功能可讓您不用將 JARS 部署至伺服器,及/或將原始檔唯一地 併入應用程式資料庫中。當可透過虛擬系統將 JAR 檔案新增至 NSF 時,JAR 設計元素會自動管理類別路徑, 並將 JAR 檔案放置在 web-inf/lib 中,這是用於 J2EE 應用程式中 JAR 檔案的建議位置。 JAR 設計元素位於「應用程式導覽器」中 Code 元素之後。

您可使用類似於建立影像資源的步驟, 來建立 JAR 元素 - 亦即,JAR 會匯入至應用程式中,而不是建立一個新的 JAR。設計元素清單畫面有匯入 JAR 按鈕, 可讓您選取及匯入想要的 JAR 檔。

JARS 不需要具有別名,因此不支援別名。 JAR 的設計清單相當簡單,且與檔案的設計清單相同(除了移除「別名」直欄之外)。由於 JAR 的大小資訊可能是必要的, 所以會將其併入為「位元組」直欄。最後,所有「新建」功能表也會在設計元素清單中,具有此新元素的項目。

從任何各種方式建立 JAR, 系統會呈現給您下列標準 Eclipse 對話框來選擇檔案,該對話框具有過濾以包括 JARS 的清單。 然後,您可以選取需要的 JAR,並按儲存,JAR 即會匯入至應用程式。

在 Designer 設計清單畫面中或在「應用程式導覽器」中 選取 JAR 元素時,JAR 元素提供內容畫面的標準集,但也會包括基本畫面讓您新增註解、重新命名 JAR 或管理取代旗標 (會提供此功能,因為既然 JAR 是匯入的元件,您可能想要能夠維護 Note ID)。

就如同其他檔案設計元素, 也可使用「匯出」功能,且可以使用「簽署」動作來簽署 JARS。

會針對 NSF 中每一個 JAR 調整類別路徑, 所以任何設計時間編譯都可以解析任何 JAR 參照。對 .classpath 所作的變更不會持續保存至磁碟,所以舊版本的 Designer 不會故障。

在執行時期時,JAR 附註會展開至 XPage 執行時期檔案系統的 web-inf/lib 中,且可用於 XPage 上的伺服器 JS,以及在該環境中的任何 Java 類別參照。

選用區狀態儲存功能 -- 此版次中,XPage 編輯器選用區現在會記住每一個不同 XPage 的狀態。它也會記住 Domino Designer 階段作業之間的狀態。

PNG 檔案支援影像資源 -- 此版次中,您現在具有將 PNG 檔案匯入至 Designer 作為影像資源的能力。此檔案類型現在是在影像類型組合框中的選項。此能力可讓您使用 PNG 檔案來取代使用影像資源的地方(例如,XPage、表單、視圖、大綱等等)。 .

「XPage 原始碼編輯器超鏈結」導覽功能 -- 此版次的 Domino Designer 中,「XPage 原始碼編輯器」支援超鏈結導覽。超鏈結導覽說明一般 Eclipse 功能,其中,編輯器內的文字可製作成超鏈結。

按 CTRL 並將游標移至 Eclipse 中任何編輯器內的文字,Eclipse 會針對使用者嘗試執行超鏈結導覽的編輯器提供意見。每一個編輯器可藉由為游標指向的區域提供超鏈結物件, 來加入超鏈結導覽。此版次中,XPage 原始碼編輯器現在具有使用此功能的能力。

此功能一律為開啟,沒有現行選項或喜好設定可停用它。也會按照控制項來提供超鏈結導覽的支援。超鏈結導覽只適用於某些控制項,且在大部分情況下,只適用於某些控制項上的某些屬性。編輯自訂控制項時,考慮使用此功能。當您按 CTRL 並將游標移至原始碼編輯器中的「自訂控制項」上方時,超鏈結導覽可讓您直接導覽至該「自訂控制項」。

例如,移至 string.properties 並在程式碼中的結果超鏈結上按一下,開始選取的設計元素。

XPage 原始碼編輯器的浮動說明功能 – Eclipse 目前提供簡式架構,允許編輯器根據您在編輯器內移動時的游標位置提供浮動說明。這項功能的一個範例為 Eclipse Java 編輯器中的浮動說明。藉由在編輯器中時,移至特定 Java 建構,編輯器可以提供該建構上的其他資訊。在 Domino Designer 中,LotusScript® 編輯器目前提供 LS 編輯器內項目的浮動說明支援。

此版次中,您也可以在 XPage 原始碼編輯器中取得說明。使用此功能,您可以取得目前將游標移至其上方的「節點」相關資訊。類似於超鏈結導覽(請參閱前一個功能),Eclipse 編輯器架構會提供浮動說明層的定位資訊,可將該資訊解釋並解析回 XPage 內的 DOM 節點。一旦解析 DOM 節點,編輯器會提供現行標籤(及屬性)的說明。透過 xsp-config 為其本身提供說明的所有標籤及屬性,都可以在 XPage 原始碼編輯器內的浮動說明功能中看見該資訊。

可使用「Domino Designer 喜好設定」標籤內的喜好設定來控制此功能。依預設,會以與喜好設定相關聯的 500 毫秒逾時,開啟此功能。亦即,一旦游標處於「休息」的時間大於 500 ms(毫秒),Eclipse 編輯器架構即會呼叫 XPage 原始碼編輯器浮動說明。在那個時候,XPage 浮動說明即會計算游標移至其上方的節點。根據節點資訊,功能會針對 XPage 登錄解析節點,並擷取節點說明。功能也設計為使用 XPage 內廣泛使用的 'this.attribute' 表示法。如果將游標移至標籤(且不是屬性)上方,則浮動說明資訊會以下列形式出現在說明視窗中:

標籤顯示名稱 (tagName)

說明:

如果將游標移至標籤的屬性上方,則說明會以下列形式出現在說明視窗中:

標籤顯示名稱 (tagName)

說明:

屬性顯示名稱 (attributeName)

屬性說明:

如剛才提到的,資訊是從 XPage 登錄取回的,所以此功能可用於所有標籤 - 不只是核心 XPage 控制項。最後,在顯示浮動說明時按 F2,會將焦點傳送至浮動說明視窗,可讓您調整視窗大小

記憶體管理改善項目 – 此版次中,在 Domino Designer 中所作的記憶體管理改善項目,特別是在 XPage 編輯器的區域中。已調查並修正某些先前識別的記憶體洩漏。在過去,利用許多控制項視覺化編輯大量複式 XPage(例如,包含數個複式設計元素的 XPage)時,有時候會出現這些洩漏。然後,這些洩漏會導致 Java「記憶體不足」異常狀況,並且導致 Domino Designer 損毀。

內容輔助說明 – 此版次在 XPage 原始碼編輯器中引進內容輔助功能。此功能可讓您在 XPage 的「來源模式」中工作時,使用內容輔助。類似於其他 Eclipse 編輯器,按 CTRL+SPACE 將會啟動內容輔助功能。

Eclipse XML 編輯器(XPage 原始碼編輯器)內的內容輔助是透過使用綱目來驅動。Domino Designer 會根據現行 Notes® 應用程式,動態地建置綱目。綱目包含 XPage 執行時期內每一個標籤的每一個屬性的說明資訊。為了啟用 XPage 編輯器內的內容輔助,必須修改 XSP 標記,以通知 XPage 原始碼編輯器關於所使用的綱目位置。在 Domino Designer npw 內建立的每一個新的 XPage,都會在 XPage 的「檢視」控制項中包含下列 meta 資料:

xsi:schemaLocation="http://www.ibm.com/xsp/core xsdxp://localhost/xsp~core.xsd

會針對新增至 XPage 的每一個名稱空間,新增類似的位置定義。將控制項從選用區放置到 XPage 時,Domino Designer 會檢查控制項的名稱空間 URI 是否具有與其相關聯的綱目位置。如果沒有,則會產生位置,並將其新增至 XSP 標記。然後,Domino Designer 會根據 FacesRegistry 的內容(其包含所有 XPage 控制項的定義),為給定的名稱空間動態地產生綱目。這可讓 Domino Designer 將必要的標記新增至 XPage。

如果您有現有的 XPage,則必須將新的控制項新增至 XPage(透過從「控制項選用區」拖放),以啟用新的內容輔助功能。

內容類型及可編輯內容類型欄位的偵測 – 現在,所有提供的內容類型會由 Domino Designer 偵測。

可編輯內容類型欄位 – 計算欄位及視圖直欄的內容類型欄位現在也可編輯。開發 Social Enabler 的控制項時,「計算欄位」控制項及視圖直欄的內容類型欄位早期是唯讀。這是不可接受的,因為客戶想要提出自己的內容類型。如果是 Social Enabler,有數個可用的內容類型。

這些內容類型都沒有顯示在計算欄位或視圖直欄中作為選項,表示您需要移至「所有內容」視圖以輸入這些值。儘管如此,正常畫面仍然會顯示舊的「文字」值,即使已將值設為其他值亦然。

此變更更正該問題。現在,視圖直欄「顯示」畫面及計算欄位「基本」畫面支援所有登錄的內容類型,且那些欄位是可編輯的,如果想要,您可以輸入自己的內容類型名稱。

支援新增至「XPage 勾選框」控制項的轉換器 – 此版次中,「勾選框」控制項現在接受轉換器。

新增至接受轉換器之控制項的布林轉換器 – 此版次中,接受轉換器的控制項現在接受「布林」轉換器。「布林」轉換器可讓透過 XPage 儲存的值,在資料來源內儲存為「布林」物件(相對於字串)。現在,Domino Designer 容許將「布林」轉換器新增為支援轉換器的任何 XPage 控制項上的轉換器。

「Domino Designer 喜好設定」變更 – 已對 Domino Designer 喜好設定作了下列變更:
  • 現在,XPage 是它自己的「喜好設定」種類
  • 「延伸程式庫」及「選用區喜好設定」已新增至 XPage 種類
  • XPage 喜好設定畫面群組方框名稱已變更為「XPage 編輯器」
  • 在編輯器中顯示換行喜好設定現在是在設計編輯器中顯示換行,因為其參照至原始碼編輯器
  • 氣泡式說明喜好設定及浮動說明喜好設定已從 Domino Designer 喜好設定畫面移動至 XPage 畫面/「XPage 編輯器」群組。
  • 浮動說明及內容輔助的新勾選框及相關聯計時器已新增至 XPage 畫面/「XPage 編輯器」群組。如果不勾選勾選框,則計時器控制項將會變成灰色。

關閉應用程式功能 – 此版次中,您現在可以手動關閉在「Domino Designer 應用程式」導覽器中開啟的應用程式。為了存取此功能,已將新的功能表項目新增至「應用程式導覽器」,可讓您手動關閉先前在「應用程式導覽器」中開啟的應用程式。

只有在選取某個「應用程式」,且相同應用程式已開啟時,才會啟用這個新的功能表項目。選取設計元素樹狀結構中的節點時,將會停用功能表項目。

開啟應用程式但沒有變更選擇時,會通知此功能表項目。例如,假設「應用程式 A」已關閉,且您嘗試選取功能表。在此情況下,將會停用「關閉應用程式」功能表項目。另一方面,如果您開啟「應用程式 A」但沒有在導覽器內變更選擇,並再次嘗試選取功能表,則會啟用「關閉應用程式」功能表項目。

選取時,「關閉應用程式」功能表項目將會關閉目前選取的應用程式,以及從目前開啟的應用程式中關閉所有設計元素。

資料來源配置畫面 -- 會為「延伸程式庫」中的「資料視圖」及「動態視圖」控制項提供「選取資料來源」畫面(請參閱此主題中的對應小節)。會在將這些控制項的其中之一放置到 XPage 之後,立即出現此畫面。這些畫面可讓您選取或提供下列資訊:
  • 您想要顯示資料的來源(Domino 視圖)
  • 提供資料來源的應用程式
  • 您想要提供資料的特定視圖
  • 資料來源名稱
Designer 可用性改善項目 -- 已新增特殊化選取器,以在「所有內容」畫面中工作時,協助指派內容值。已新增下列特定內容編輯器,以改善「延伸程式庫」控制項中的可用性(請參閱此主題中的對應小節):
  • 位元旗標選取器
  • 貨幣選取器
  • 表單選取器
  • 正規表示式選取器
  • 變數名稱選取器
  • 視圖及資料夾選取器
  • 視圖選取器
  • XPage 控制項 ID 選取器
您可以在這些編輯器的「自訂控制項」內容定義內,任何必要的地方重複使用它們。
「應用程式導覽器」變更項目及新增項目 -- 新項目已新增至「應用程式導覽器」。先前的「應用程式內容」區段已重新命名為「應用程式配置」區段。現在,此區段提供您下列應用程式元素群組的編輯存取權:
  • 應用程式內容 - 此元素提供您典型應用程式層次內容的編輯存取權。
  • XSP 內容 - 此檔案包含 XPage 架構參數的集合,稱為 xsp.properties。其用於應用程式或伺服器層次上,以在您的應用程式 XPage 中設定及控制 XPage 設定。每一個 XPage NSF 應用程式都包含 xsp.properties 檔案。
  • Faces-config - faces-config.xml 檔案是 JSF 應用程式中的主要配置檔。此檔案通常會列出 Bean 資源及頁面導覽規則。其會置於應用程式的 WEB-INF 資料夾中。
    註: Faces-config 會隱藏在所有視景中(除了 XPage 視景之外)。
您可以透過「導覽器喜好設定」隱藏或顯示任何這些項目。

不在工作集中的應用程式功能 -- Domino Designer 使用者會使用工作集來過濾「應用程式導覽器」視圖的內容。工作集可讓您將應用程式分組為不同的種類,繼而讓您能夠一次只檢視某個特定工作集或多個工作集中的應用程式。這可讓您組織並清除「應用程式導覽器」,因此您可以在「應用程式導覽器」中專注於/檢視您所擁有的應用程式子集。不過,這方面的問題永遠是很難判斷哪些應用程式「未」包含在任何工作集中。

已新增功能,讓您可以檢視 Domino Designer 中未儲存在工作集中的所有應用程式。此功能類似於「Java 套件瀏覽器」視圖中提供的其他專案工作集。您可以在 Designer 介面的下列兩個位置中找到此功能:
  • Domino Designer 首頁
  • 導覽器工作集工具列下拉功能表

在「首頁」,Domino Designer 會檢查「應用程式導覽器」內包含的所有應用程式是否有包含在「工作集」中。如果判斷出有一或多個應用程式未包含在一或多個工作集中,則 Designer 會重新載入「首頁」。然後,在該處理程序期間,它會將不在工作集中的應用程式清單項目新增至「首頁」。

在「應用程式導覽器」中,當您按一下功能表按鈕時,Domino Designer 會判斷是否有任何應用程式不在工作集中。如果它判斷有一個以上的應用程式不在工作集中,則會啟用新增的不在工作集中的應用程式功能表項目。反之,如果所有應用程式都組織在工作集中,或是沒有任何工作集(在此情況下,所有應用程式都不在工作集中),則會停用此相同的功能表項目。

不在工作集中的應用程式功能啟用時,「應用程式導覽器」只會顯示目前不在工作集中的應用程式。「應用程式導覽器」的標題列會變更為其他,而工具提示則會顯示不在工作集中的應用程式

您可以將目前未包含在工作集中的應用程式新增至某個工作集中。如果情況是在啟用不在工作集中的應用程式後,才接著將未包含在工作集中的所有應用程式新增至工作集,則「應用程式導覽器」會顯示空白,並且會重新載入「首頁」。然而,此時將看不到不在工作集中的應用程式項目,而「應用程式導覽器」功能表中的不在工作集中的應用程式功能表項目將會是已勾選但卻停用的。

XPage

在 XPage 的區域中,已新增或變更下列項目。

XPage 延伸程式庫 --「XPage 延伸程式庫」提供已備妥可供使用的其他控制項。控制項包括新的儲存器控制項(例如,「應用程式佈置」、「資料視圖」及其他)、改良的對話框、選取器、適當的表單、Dojo 元件、動態內容及其他項目。控制項也支援 Domino® 範本的加強功能。

新的「延伸程式庫」中可用的控制項涵蓋下列功能範圍:
  • 資料存取 - 顯示資料存取服務。
  • Dojo 表單 - 模擬 Dojo 工具箱的元件。
  • Dojo 佈置 - 模擬 Dojo 工具箱的元件。
  • 延伸程式庫 - 擴充「Designer 核心控制項」的功能。
  • iNotes® - 支援某些視圖、清單及儲存庫。行動式 - 支援行動式應用程式。
「XPage 延伸程式庫」包括下列功能重點:
  • 行動式控制項 - 這個新的控制項集支援建置行動式裝置的應用程式,包括下列功能重點:
    • iPhone 及 Android 的預設樣式
    • 提供自訂樣式的能力
    • 顯示 Domino 視圖的視圖控制項
    • 可透過表單控制項輕鬆地呈現文件,就像是在桌面應用程式中操作一樣。
    • 標頭、大綱及標籤列控制項
    • 變更行動式頁面而不用重新載入整個應用程式的「單一頁面應用程式」控制項
    已將這些控制項實作為程式庫控制項,所以可以在自訂應用程式中使用它們,而不用複製並貼上設計元素。
  • 程式庫控制項的新工具 - 新的外掛程式為所有「延伸程式庫」控制項提供新的基本 Domino Designer 視覺化,也為更複雜的控制項(例如,「應用程式佈置」控制項)提供加強的視覺化。其他加強功能包括新的特殊化編輯器(以在「所有內容」畫面中工作時協助指派內容值),以及新的設計畫面(以協助「資料視圖」及「動態內容」控制項)。
  • 加強的協助工具及本地化支援 - 舊版「XPage 延伸程式庫」中的部分控制項及複式類型不完全符合協助工具及本地化標準。例如,針對輔助技術(例如,螢幕閱讀器等等),使用「標題」屬性作為控制項標籤,而不作為敘述標籤。會在此版次中,提出類似於此問題或其他問題的議題。
  • 其他次要修正程式及加強功能 - 已將其他次要修正程式套用至執行時期。已更新許多控制項內容說明及工具提示。

如需此功能進一步的資訊,請參閱本《使用手冊》中的「新增 XPage 延伸程式庫中的控制項」一節。如需使用「延伸程式庫」控制項的其他資訊及參照資料,也請參閱位於 Notes and Domino Application Development Wiki(網址為 http://www-10.lotus.com/ldd/ddwiki.nsf)的 Product Documentation 一節中的 Domino Designer XPages Extension Library 文件。

更新的應用程式範本 -- 此版次提供延伸以使用最新版次中新功能的已更新版本「Notes/Domino 討論」及「會議室」範本(discussion8xl.ntf 及 teamrm8xl.ntf)。您可以使用這些範本來建立將在 Web 上、Notes 用戶端上或行動式裝置上執行的 XPage 應用程式。特別建議您嘗試行動式應用程式實作,因為這些範本是開始使用 XPage 行動式開發的良好範例參照點。此版次的「討論」及「會議室」範本只提供英文版。

應用程式佈置控制項 -- 「延伸程式庫」的其中一個重點為「應用程式佈置」控制項 (applicationLayout/com.ibm.xsp.extlib.component.layout.UIApplicationLayout)。此控制項是呈現主要應用程式頁框及 XPage 應用程式佈置的物件。

將此控制項置於自訂控制項中是最有效的使用方式,您可在其中配置佈置一次,然後在多個 XPage 上重複使用該自訂控制項。您最多可以使用三個標題及導覽鏈結的區域來設定佈置,使用最多三個直欄及最多兩個標底區域來設定內容區。

一旦您將控制項拖曳至 XPage,並完成您的起始設定,即可使用控制項的「內容畫面」,來為您的應用程式佈置控制項內容進一步設定其他選項。這些選項包括:
  • 基本內容畫面 - 可讓您設定控制項「名稱」、「配置」及「可見」(使用計算值)。當控制項在「自訂控制項」中時,此畫面也可讓您將資料類型新增至三個主要直欄中的任何一個,以容許在使用「自訂控制項」時,將控制項放置到這些資料類型。
  • 橫幅內容畫面 - 可讓您設定橫幅區域的所有佈置橫幅選項及設定。例如,標誌(具有影像選取器的文字欄位)、廣域鏈結等等。.
  • 橫幅 -「應用程式鏈結」內容畫面 - 為「橫幅」內容畫面的一部分,此畫面可讓您新增應用程式鏈結及設定鏈結內容。
  • 橫幅 -「公用程式鏈結」內容畫面 - 為「橫幅」內容畫面的一部分,此畫面可讓您為公用程式(例如,「說明」及「登入」)新增橫幅中的鏈結,及設定其相關內容。
  • 「標題列」內容畫面 - 可讓您設定標題列、標題文字,設定標題選項、新增鏈結(以自訂次序),以及將其他標籤(具有子標籤)新增至您的應用程式佈置。
  • 標題列 - 搜尋內容畫面 - 可讓您將搜尋控制項新增至標題列,以及設定所有相關的搜尋 URL 及內容。也會提供可編輯區域(資料類型)作為指定搜尋使用者介面的替代方式。如果已使用,資料類型會置換在此畫面上指定的控制項。
  • 「位置列」內容畫面 - 可讓您為次要標題,設定要顯示位置列區域的選項。您也可以將鏈結樣式設為按鈕,或具有下拉清單的按鈕。這些可以為具有(或不具有)影像及標籤的按鈕。
  • 標底內容畫面 - 提供您在應用程式內容區底下顯示標底,並將其用於鏈結或文字的選項。若要在標底中只顯示文字,您應該只將標籤文字指定為內容,而不是 HREF(鏈結)。
  • 合法內容畫面 - 提供您在應用程式中指定區域來顯示合法文字,以及設定所有標誌及文字內容(需要時,可使用計算值)的選項。

如需如何使用此控制項的完整資訊,請參閱位於在本手冊中的這個「控制項參照」小節。

「動態內容」控制項 -- 另一個「延伸程式庫」的重點是「動態內容」控制項 (dynamicContent / com.ibm.xsp.extlib.component.dynamiccontent.UIDynamicContent)。此控制項可讓您將動態頁面或頁面部分併入您的 XPage 應用程式中。此控制項可讓您有條件地建立及呈現子控制項,讓您顯示及隱藏部分頁面。已提供此控制項完整的工具及視覺化。「動態內容」控制項的工具由一個「動態內容」內容畫面組成。可從此畫面設定的內容包括:
  • 控制項名稱
  • 可看見控制項的選項(「可見」勾選框)
  • 選取預設資料類型的下拉清單。如果沒有符合其他條件,則會呈現預設資料類型中定義的內容。
  • 使用 URL 雜湊的選項(勾選框)

XPage 內容編輯器 -- 已新增「XPage 內容編輯器」使用者介面,讓它在「Eclipse 導覽器」視圖中時,能夠更輕鬆地編輯 XPage 內容。

若要顯示「Eclipse 導覽器」視圖,請選擇「視窗」- 顯示 Eclipse 視圖 - 導覽器」。

若要啟動「XPage 內容編輯器」,請執行下列動作:
  • 在「Eclipse 導覽器」視圖中找出 XPage 內容檔 xsp.properties。路徑應該類似於下列範例:Application-name.nsf/WebContent/WEB-INF/xsp.properties。
  • 用滑鼠右鍵按一下 xsp.properties,並選取「開啟 - XPage 內容編輯器」。即會開啟具有 4 個可用標籤的「XPage 內容編輯器」畫面,以設定「XPage 內容」。這些內容標籤為「一般」、「持續性」、「頁面產生」及「原始碼」。
XPage 內容「一般」標籤可讓您設定下列一般區域中的內容:
  • 佈景主題預設值 - 可讓您設定應用程式佈景主題內容。您也可以視應用程式是在 Notes 用戶端中還是在 Web 上顯示而定,設定佈景主題選項置換設定。
  • 導覽及鏈結的視窗行為 - 可讓您在應用程式中指定視窗及鏈結行為,以及當沒有在鏈結本身指定鏈結行為時指定它們。
  • 錯誤處理 - 可讓您指定錯誤處理(錯誤頁面)選項。如果您選擇顯示 XPage 執行時間錯誤頁面,您可以依照 XSP 層顯示預設錯誤頁面。這對於提供額外錯誤資訊很有幫助。
  • 最低支援的版次 - 可讓您指定最低支援的 Notes/Domino 版次,讓編譯的應用程式在其上執行,也可讓您設定樣式支援需求。
  • 逾時值 - 可讓您指定應用程式、階段作業及局部更新逾時間隔。您可以為應用程式或階段作業,設定閒置之後從記憶體移除的時段間隔(以分鐘為單位)。除非另外指定,否則預設間隔為 30 分鐘。若為局部更新,您可以設定逾時間隔(以秒為單位)。預設值為 20 秒。也可以設定其他重新整理及持續保存選項。
  • Dojo - 可讓您指定在應用程式中使用的 Dojo 版本,並且將參數指定至 Dojo 的 djConfig 屬性。例如,必要時,您可以指定 isDebug=true,以讓您切換至除錯模式。
  • 時區 - 可讓您指定時區資訊。如果您未使用此項目,則會使用伺服器時區。
  • 檔案上傳選項 - 可讓您指定應用程式檔案上傳大小及位置。這包括要上傳至應用程式的檔案大小上限,以及暫時儲存上傳附件的目錄位置。
「效能內容(持續性)」標籤可讓您在設定下列應用程式效能區域中的內容:
  • 持續性選項 - 可讓您設定「伺服器 (JSF)」頁面持續性模式及選項,以及持續頁面計數設定,以微調應用程式效能與可用記憶體的對比。
  • 暫時位置 - 可讓您指定附件、上傳檔案及 JSF 頁面的暫時持續性儲存體位置。
  • 選項 - 可讓您指定事物的其他效能設定,例如,頁面重新整理、快取記憶體大小、資源有效期限及 JavaScript 和 CSS 資源選項。
「頁面產生內容(頁面產生)」標籤可讓您設定下列應用程式頁面產生區域中的內容:
  • HTML 產生 - 可讓您指定 HTML 產生設定,例如,用戶端 HTML 驗證、壓縮設定、編碼(字集)及 HTML doctype,以及其他選項。
  • Rich Text 選項 - 可讓您指定如何儲存 Domino 文件中的鏈結 - 以 Notes 或是 Web 格式。
  • 作用中的內容過濾 - 可讓您指定作用中內容過濾器,包括顯示及儲存過濾類型,以及指定要使用的 ACF CONFIG 檔案。
  • 作用中的內容過濾 (ACF) 是用來從瀏覽器中顯示的應用程式內容中移除可能的惡意作用中內容。

最後,「原始碼」標籤可讓您顯示及編輯文字編輯器中實際的 XPage 內容來源檔案,而不用「XPage 內容編輯器」使用者介面的協助。

提供游標/滑鼠停留在上方的說明,提供您可在這些標籤上設定的各種選項及內容的其他協助。

行事曆及排程 (C&S) 後端 Java 類別 – 可用於 Java API,以公開 Domino 行事曆及排程功能的架構及一組方法。這些功能提供使用標準化 iCalendar (RFC 5545) 資料格式,在個人郵件檔案中建立、讀取、更新及移除行事曆資料的能力。它們也容許在行事曆項目及注意事項上執行明確行事曆動作(接受、拒絕、取消等等)。如需完整的詳細資料,請參閱此主題的下一個小節。

執行時期語言支援 -- 此版次中的 XPage 執行時期支援「語言群組 1、2 和 3」。「討論」及「會議室」範本只提供英文版。

範本語言支援 --「討論」及「會議室」範本只提供英文版。

直接在 Domino 伺服器上執行伺服器型 Xpage 應用程式的啟動選項 –因為 XPage Notes 應用程式是在本端 Notes XPD Web 儲存器中執行,所以必須在網路中,將所有 XPage Java 類別(XPage 及自訂控制項)從遠端伺服器複製到要執行的 Notes 用戶端。同樣地,必須從遠端伺服器中提取所有頁面資源(CSS、JavaScript、GIF 等等),以及實際資料文件。此外,如果 XPage 應用程式會利用其他 Notes 設計構件(例如,使用 computeWithForm 功能),則也必須從遠端提取大型設計元素(像是表單、子表單及共用欄位等)。在高度延遲的網路中,這可能會造成重大效能影響,尤其是當您的應用程式主要是針對 Web 所設計,而未針對 Notes 用戶端進行最佳化時。

Domino Designer 啟動選項可讓您避免發生此狀況。Notes 用戶端啟動選項被稱為直接在 Domino 伺服器上執行伺服器型 Xpage 應用程式。當勾選此選項,而且 Notes 使用者已啟動應用程式時,將要求 XPage 執行時期在透過 HTTP 的 Domino 伺服器上執行應用程式。此選項可讓您要求遠端應用程式在 Domino HTTP 伺服器上執行(如同對於 Web 使用者所執行的),並且在 Notes XPage 儲存器中顯示。此方式的優點是會消除許多網路交易,而能增進效能。

若要實現此要求,必須先滿足數個條件。首先,必須已設定 Notes HTTP 帳戶。您可以直接在 Notes 用戶端上設定這些帳戶,或是在 Domino 伺服器上遠端設定這些帳戶,然後將它們供應給 Notes 用戶端。若要建立或檢視 Notes 帳戶,請在 Notes 中選取檔案 > 喜好設定 > 帳戶。在嘗試實現對 Domino 上的 Xpage 應用程式的要求時,XPage 會逐一查看 Notes 用戶端安裝中所定義的所有 Notes 帳戶,直到它找到符合應用程式所在的伺服器名稱的 HTTP 帳戶為止。符合這些準則之後,接著會建構 Domino XPage URL,並將要求傳送至 Domino 伺服器,然後應用程式會在 Notes 用戶端中載入。如果找不到相符的帳戶,或是無法處理對伺服器的要求(例如,部分其他不正確的帳戶明細),則系統會提示您關閉應用程式視窗,或回復為使用本端 Notes Web 儲存器來執行應用程式。

「Notes 帳戶」架構及基礎 XULRunner 瀏覽器會將使用者認證自動傳遞至 Web 伺服器,以進行自動鑑別。因此,不應盤查使用者以進行鑑別。如果系統提示您輸入使用者名稱及密碼,則表示未正確設定執行時期 Notes/Domino 配置(例如,不正確地配置 Domino SSO)。不過,您應該可以透過 Notes 工具列的 Notes 瀏覽器位址小組件,只輸入應用程式的 URL,即可獨立於 Xpage 來驗證此項。

在 Domino 伺服器的 Notes 用戶端內執行應用程式時,所有自訂的 Notes 功能的運作方式,都應該與以原生 XPage 模式執行時的運作方式相同。例如,快速功能表、變動文件儲存、用戶端 JavaScript 函數等項目的行為應該相同。其中一個例外狀況如下:當複合應用程式在伺服器上執行時,將無法利用用戶端內容分配管理系統功能。

若要略過在 Domino Designer 中設定此選項的作業,您可以設定 NOTES.INI 功能,如下所示:XPagesRunRemoteAppsOnServer=1。此設定將套用至所有的 XPage 應用程式,而不是個別的應用程式。

已將拼字檢查程式新增至 CKEditor – 已在 XPage 中將拼字檢查程式新增至 CKEditor。在伺服器及用戶端上都可以使用此檢查程式。

可程式性及語言

在可程式性及語言的範圍內,已新增或變更下列的內容:

Domino Data Services -- Domino® Data Service 是 REST API,它能存取 Domino 伺服器上的資料庫。它是 Domino Access Service 的一部分。Domino Data Service 會使用具有 JSON 格式主體內容的 HTTP 及 HTTPS 通訊協定,來接收要求及傳送回應。Domino Data Service 可讓您取得資料庫、視圖、資料夾及文件的資訊。您可以更新、新增及刪除文件。

如需使用 Data Services 的其他完整資訊及參照資料,請參閱位於 Notes and Domino Application Development Wiki(網址為:http://www-10.lotus.com/ldd/ddwiki.nsf)的 Product Documentation 一節中的資訊。

行事曆及排程 (C&S) 後端 Java 類別 – 可用於 Java API,以公開 Domino 行事曆及排程功能的架構及一組方法。這些功能提供使用標準化 iCalendar (RFC 5545) 資料格式,在個人郵件檔案中建立、讀取、更新及移除行事曆資料的能力。它們也容許在行事曆項目及注意事項上執行明確行事曆動作(接受、拒絕、取消等等)。

註: iCalendar 容許擷取及交換在行事曆及排程應用程式內正常儲存的資訊,例如,「個人資訊管理程式 (PIM)」或「群組排程」應用程式產品。iCalendar 格式適合作為應用程式或系統之間的交換格式。格式是根據 MIME 內容類型來定義。這可讓要交換的物件使用數個傳輸,包括(但不限制於)SMTP、HTTP、檔案系統、桌面互動式通訊協定(例如,使用記憶體型的剪貼簿或拖放互動)、點對點非同步通訊、接線網路傳輸或某些種類的無線傳輸(例如,紅外線)。

這些起始類別及方法的目的是提供基準,以進行探索開發可能性,以及建置小型的簡式行事曆及排程原型應用程式,而不需要完全精通「Notes 行事曆及排程」的內容。

已新增的一些新類別(含有方法)包括下列項目:

Session.getCalendar

從「資料庫」物件中建立 NotesCalendar 物件。在實際存取資料庫之前,它都不會驗證為有效的 C&S 資料庫。

lotus.domino.NotesCalendar getCalendar(lotus.domino.Database db)throws NotesException

NotesCalendar - 具有下列方法:
  • NotesCalendar.getEntry
  • NotesCalendar.createEntry
  • NotesCalendar.readRange

下列資訊提供使用這些方法的其他詳細資料:

NotesCalendar.getEntry

傳回與提供的 uid (iCal ID) 相關聯的 NotesCalendarEntry 物件。這不會執行驗證檢查,來確定項目實際存在。

NotesCalendarEntry getEntry(String uid) throws NotesException

NotesCalendar.createEntry

當提供根據 RFC 5545 適當地格式化的 iCalendar 字串 (iCal) 時,會從提供的 iCal 傳回 NotesCalendarEntry。

NotesCalendarEntry createEntry(String iCal) throws NotesException

NotesCalendar.readRange

傳回代表出現在您的 Notes 行事曆上,且在提供的開始與結束時間之間開始的所有行事曆項目的 iCalendar 字串。若為重複出現的項目,範圍內的每一個實例會個別輸出。這只會代表每一個項目的摘要資料,但每一個項目將包含可用來取得 NotesCalendarEntry 物件(利用 getEntry 方法)的 UID。呼叫程式負責剖析輸出。

String readRange(DateTime start, DateTime end) throws NotesException

NotesCalendarEntry
  • NotesCalendarEntry.read
  • NotesCalendarEntry.update
  • NotesCalendarEntry.remove

下列資訊提供使用這些方法的其他詳細資料:

NotesCalendarEntry.read

傳回代表此行事曆項目的 iCalendar 字串。如果針對重複出現的項目指定 recurID,則只會傳回該出現項目的 iCalendar 字串。預期 recurID 為代表一開始將特定實例排程在此資料/時間的字串,格式如下所示:iCalendar RECURRENCE-ID。例如:19960120T120000Z。請參閱 RFC 5545,第 3.8.4.4 小節。

String read() throws NotesException

String read(String recurID) throws NotesException

NotesCalendarEntry.update

當提供根據 RFC 5545 適當地格式化的 iCalendar 字串 (iCal) 時,會透過將該字串傳遞至 iCalendar 中來更新此行事曆項目。若為重複出現的會議,目前這只支援個別實例,且 iCalendar 輸入必須包含以 RECURRENCE-ID(如在 RFC 5545 中所定義)指定適當實例的單一 VEVENT。

如果未指定任何註解,即使這是一個會議,也將「不會」傳送通知。如果這是一個郵件檔案擁有者為組織人員的會議,則將會傳送適當的通知,包括提供的註解。目前,會忽略任何提供的註解。

void update(String iCal) throws NotesException

void update(String iCal, String comments) throws NotesException

NotesCalendarEntry.remove

從郵件檔案中移除(刪除)行事曆項目。如果指定 recurID,則只會移除該出現項目。如果此行事曆項目是已排程會議,而且將適當地取消或拒絕,則會將適當的通知傳送給組織人員或參與者。

void remove() throws NotesException

void remove(recurID) throws NotesException

如需這些及其他類別與方法的完整資訊,請參閱 Domino Designer XPages Reference 中的 Domino 一節。

伺服器端 JavaScript 除錯器 – 「伺服器端 JavaScript (SSJS)」除錯器可用來對 Designer 預覽伺服器或 Domino 伺服器進行除錯。
註: 如果是在舊版的伺服器上管理應用程式,則與此功能搭配使用的 debugger 關鍵字「不」能與舊版相容,因此無法運作。當伺服器/應用程式是以除錯模式執行時,此關鍵字可充當「伺服器端 JavaScript」程式碼內的靜態岔斷點。在設計時使用此關鍵字不會造成 XPage 應用程式的問題,但應用程式在舊版的伺服器上執行時,將發生執行時期問題。

同時已更新除錯器使用者介面,使 Eclipse 環境中的除錯處理程序變得更加簡單。在主要工具列中,已新增除錯 IBM Domino Designer Server-Side JavaScript 工具列按鈕。如需更完整的資訊,請參閱《Domino Designer 使用手冊》的「程式設計」中的「在 XPage 中撰寫 Script」一節。

使用未經壓縮的 Dojo 資源以進行除錯的內容/喜好設定 - 可以編輯 xsp.properties 檔案中稱為 xsp.client.script.uncompressed 的公開內容,並將它設為 TRUE,即可啟用使用未經壓縮資源來更輕鬆地除錯的功能。

選取「XPage 內容編輯器」中的使用未經壓縮的資源檔 (CSS 及 Dojo) 勾選框 - 您的應用程式的「效能內容」標籤也會啟用此功能。勾選框將編輯 xsp.propertie 檔案中的這一行,如下所示: xsp.client.resources.uncompressed=true

設為 true 時,此內容可讓 Dojo 資源以未經壓縮的方式提供所有縮排、空格、變數名稱及註解,因此您可以徹底地對您的應用程式進行除錯。在正式作業環境中,此內容應設為 false,使應用程式效能達到最大。

從技術上來說,未經壓縮版本的資源是由不同的程式庫所提供。您必須登錄兩個程式庫(例如,1.7.2 用於壓縮的版本,而 1.7.2-u 則用於未經壓縮的版本)。如果此內容設為 True,則只會使用上述的最新版本 (1.7.2-u)。依預設不會出現此內容,這相當於將此內容設為 False。

在 LotusScript 編輯器中關閉自動縮排的喜好設定 - 提供一項喜好設定,讓您在 LotusScript 編輯器中開啟或關閉自動縮排功能。這個喜好設定位在「LotusScript 編輯器喜好設定」標籤的「一般」區段中。現行的預設值是「不」啟用此功能。

在 LotusScript 編輯器中關閉自動縮排的喜好設定 - 提供一項喜好設定,讓您在 LotusScript 編輯器中開啟或關閉自動縮排功能。這個喜好設定位在「LotusScript 編輯器喜好設定」標籤的「一般」區段中。現行的預設值是「不」啟用此功能。

已新增「傳送郵件」簡式動作 – 已新增至 XPage 的傳送郵件簡式動作,可讓您執行已預先撰寫為程式的活動,而該活動可透過引數來修改。簡式動作會套用至事件處理程式,而且可以予以分組。已新增此簡式動作,使得從 XPage 應用程式傳送電子郵件的作業變得更加簡單。它也可讓您傳送「內嵌體驗」電子郵件。如需更完整的資訊,請參閱產品文件。

產品概觀

IBM® Domino Designer 支援使用 XPage、表單、視圖及其他元素(例如,控制項)的 IBM Domino 平台的應用程式開發。

XPage 是一種快速應用程式開發技術,可用來建立協同的 Web 型應用程式。XPage 提供一組豐富的使用者介面及資料存取控制項(使用 Java Server Faces 技術進行建置)。 XPage 支援現有 IBM Notes 及 Domino NSF 資產(例如,文件、視圖、代理程式、公式及安全)的整合。這些應用程式可以動態 Web 2.0 頁面在瀏覽器及 Notes 用戶端中呈現。開發介面提供直覺式的拖放設計環境以及 XML 來源環境。呈現方式是透過「階式樣式表 (CSS)」進行控制,而且可以使用 JavaScript 來開發商業邏輯。

Domino Designer 文件包括:

  • Domino Designer 使用手冊》介紹產品並說明 XPage 及其支援元素。本資訊也會說明 Domino Designer 在 8.5 版之後新增的功能。
  • Domino Designer XPages Reference 說明「Domino 物件」、簡式動作,及 XPage 中其他程式化項目的 JavaScript 介面。
  • Domino Designer Basic User Guide and Reference 說明 Domino Designer 的「表單型」元素,包括表單、視圖、公式語言、LotusScript 及其他項目。

本文件與下列產品相關:IBM Domino、IBM Domino Designer、IBM Notes、IBM iNotes 及 IBM Notes Traveler。

瞭解 XPage

XPage 應用程式是由 Domino 伺服器或 Notes 用戶端解譯的 XML,而且會呈現在 Web 瀏覽器或 Notes 用戶端中。您可以與頁面上的控制項互動,以將要求傳送至伺服器。

例如,此 XML 程式碼是用於包含編輯框及兩個按鈕的 XPage 應用程式:
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
	<xp:this.data>
		<xp:dominoDocument var="document1" formName="create"></xp:dominoDocument>
	</xp:this.data>
	<xp:inputText id="inputText1" value="#{document1.subject}"></xp:inputText><xp:br></xp:br>
	<xp:button id="button1" value="Submit"><xp:eventHandler event="onclick" submit="true" 
		refreshMode="complete" immediate="false" save="true"></xp:eventHandler></xp:button>
	<xp:button id="button2" value="Cancel"><xp:eventHandler event="onclick" submit="true" 
		refreshMode="complete" immediate="true" save="false"></xp:eventHandler></xp:button>
	<xp:this.navigationRules>
		<xp:navigationRule outcome="xsp-success" viewId="/main.xsp"></xp:navigationRule>
	</xp:this.navigationRules>
</xp:view>
這裡為範例 XML 程式碼意義的逐行說明:
  • xmlns:xp="http://www.ibm.com/xsp/core"

    Domino 使用 xp 作為元素縮寫,來定義 http://www.ibm.com/xsp/core 名稱空間中的控制項及其他構件。

  • xp:dominoDocument var="document1" formName="create"

    XPage 應用程式與名稱為 create 的 Domino 表單相關聯。

  • xp:inputText id="inputText1" value="#{document1.subject

    輸入框與名為 subject 的欄位在 create 表單上相互連結。

  • xp:button id="button1" value="Submit", save="true", xp:navigationRule outcome="xsp-success" viewId="/main.xsp"

    按一下時,第一個按鈕會導致將要求傳送至伺服器。伺服器會根據 create 表單,將輸入框的資料儲存為新文件,然後將另一個名為 main 的頁面傳送至用戶端。

  • id="button2" value="Cancel", save="false"

    按一下時,第二個按鈕也會導致將要求傳送至伺服器。在此情況下,伺服器會傳回 main 頁面。

Domino Designer 會提供使用者介面 (UI),其中包括導覽器、XPage 編輯器、控制項選用區、內容標籤、事件標籤及其他構件。下列顯示前一個 XML 程式碼所建立的頁面在 Domino Designer 設計模式中的出現方式:
XPage 使用者介面

使用者可以使用功能表或拖放,以在編輯器中操作控制項及文字。使用者也可使用各種標籤來設定內容及事件的值。也請注意,使用者可使用來源標籤來直接編輯 XML。

使用者可使用 XPage 內容,將 Domino 表單及 Domino 視圖識別為資料來源,並使用「控制項」內容,將控制項連結至資料來源上的欄位。

重要: 直接編輯 XML 時務必小心,因為錯誤可能會導致 XPage 無法作用。
核心控制項包括:
  • 用於取得輸入的控制項 -「編輯框」、Rich Text、「多行編輯框」、「清單框」、「組合框」、「勾選框」、「圓鈕」、「勾選框群組」、「圓鈕群組」、「日期時間選取器」
  • 用於執行動作的控制項 -「按鈕」、「檔案上傳」、「檔案下載」
  • 用於顯示的控制項 -「鏈結」、「標籤」、「計算欄位」、「影像」、「顯示錯誤」、「顯示多個錯誤」、「分頁器」
  • 自訂控制項 -「可編輯區域」
儲存器控制項包括下列項目:
  • 畫面 - 在頁面上建立矩形,以併入其他控制項
  • 重複 - 多次重複控制項
  • 包括頁面 - 併入另一個 XPage
  • 表格 - 以固定的直欄數和列數來建立表格
  • 視圖 - 併入 Domino 視圖
  • 資料表格 - 建立表格,該表格的中間列數可以變動,並與資料收集連結。
  • 標籤畫面 - 建立一組重疊的畫面,按一下標籤即可存取每一個畫面。
  • 區段 - 建立可收合畫面
程式設計介面是可在伺服器及用戶端上執行的 JavaScript:
  • 用戶端 JavaScript 可與事件(例如 onclickonbluronfocus)連接。在此 JavaScript 將要求傳送至伺服器並使用 Web「文件物件模型 (DOM)」之前,這些 Script 會在 Web 瀏覽器或 Notes 用戶端上執行。您可能會建立 Script,例如,驗證輸入框具有內容的 Script,或確認移除資料之伺服器作業的 Script。
  • 伺服器 JavaScript 也會連接至事件,但會在將要求傳遞至伺服器之後開始。此外,伺服器 JavaScript 可以用來計算控制項值、資料連結及內容。 伺服器 JavaScript 可以存取大量程式庫,包括「Domino 物件」的程式庫。也可透過 LotusScript 及 Java 來存取相同的 Domino 物件。它們會存取 Domino 資料儲存庫,並操作 Domino 環境。
在部分環境定義中,還可以使用簡式動作及「表示式語言 (EL)」。

廣域物件可提供核心物件的簡易建立機制。 例如,session 是現行階段作業的 NotesSession 物件,database 是現行應用程式的 NotesDatabase 物件,且 context 是執行 JavaScript 的環境定義的 XSPContext 物件。具有範圍的變數可提供簡易機制,在控制項、頁面及階段作業之間共用值。

表單及視圖

在 Domino 中,表單會定義向使用者顯示文件的方式,以及儲存表單資料項目的方式。視圖會在直欄和列中報告文件。

使用者開啟新文件時,定義該文件的表單可用來在用戶端使用者介面上呈現頁面。使用者儲存新文件時,會根據表單上的資料定義,使用使用者介面中的資料來建立文件。相同地,使用者開啟現有文件時,會根據表單上的資料定義,將資料呈現在用戶端使用者介面上。

一般而言,視圖的每一列都代表一份文件。然而,在 XPage 應用程式中,可以輕鬆地將多個視圖整合在一起,因此每一列是該列之多個文件的視圖。

直欄可以包含文件或計算資訊的資料值,例如,該文件的前次修改日期。您可以排序及分類視圖,以更好的方式呈現文件。 視圖可以用作資料的存取機制,例如,可讓使用者在視圖中按兩下資料列以開啟文件。

XPage 應用程式使用表單及視圖。您可以使用表單,將頁面上的控制項連接至 Domino 資料定義。先建立頁面與表單的關聯。然後,將頁面上的資料輸入控制項連結至表單上的欄位。Domino 視圖可以併入至 XPage 視圖控制項。

可以在頁面上使用的其他 Domino 元素包括:
  • JavaScript 程式庫
  • 影像資源
  • 樣式表資源
  • 佈景主題資源

在 Domino Designer 中導覽

IBM Domino Designer 會安裝成 Eclipse 視景,排列在易於存取的視圖、選用區與編輯器中。您可以使用主要功能表、右鍵功能表,以及視圖、選用區與編輯器標題列中的圖示來執行作業。

IBM Domino Designer 視景如下所示:
  • Domino Designer 顯示「應用程式導覽器」中的所有設計元素,而且為預設視景。
  • XPage 會排除不需用於 XPage 開發的設計元素。
  • 表單/視圖會排除只需用於 XPage 開發的設計元素。

若要變更視景,請按一下視窗 > 開啟視景

若要調整視景的內容,請移至檔案 > 喜好設定 > Domino Designer > 應用程式導覽器

因為 IBM Domino Designer 視景是由 Eclipse 使用慣例所定義,所以您可以移動、調整大小、關閉及開啟視圖。若要將您的新排列以所選擇的名稱儲存為新視景,請在功能表列中選取視窗 > 另存視景

您也可以導覽視圖,方法是使用預設的 Eclipse 鍵盤快速鍵 Ctrl + F7,或在 Eclipse 主要功能表中按一下視窗 > 導覽

若要查看任何隱藏的視圖,請在主要 Eclipse 功能表中按一下視窗 > 顯示 Eclipse 視圖,然後從清單中選取隱藏的視圖。

設計元素及「應用程式導覽器」

「應用程式導覽器」會顯示可用的設計元素。

依預設,「應用程式導覽器」位於視窗的左側。當您建立或開啟應用程式時,其元素會顯示在「應用程式導覽器」中。
  • 若要建立應用程式,請按一下檔案 > 新建 > 應用程式,或在「應用程式導覽器」中按一下滑鼠右鍵,然後選取新建應用程式 (Ctrl-N)。
  • 若要開啟現有的應用程式,請在「應用程式導覽器」中選取應用程式,或者,如果沒有可用的應用程式,請按一下檔案 > 應用程式 > 開啟,然後選取應用程式。
  • 若要查看可用的設計元素類型及設計元素群組,請展開應用程式。展開群組來查看群組中的設計元素類型。
  • 若要建立所選取類型的設計元素,請使用功能表或按一下滑鼠右鍵。建立設計元素之後,它們會顯示在其類型之下。在元素類型上按兩下,即會在編輯器中顯示設計元素的清單。您可以在元素上按兩下,以開啟設計元素進行編輯。

下列表格說明每一個設計元素,並指出通常會使用元素的應用程式類型。

設計元素 說明
表單 為建立及顯示文件提供架構。若為 XPage,您可以使用表單作為資料來源。
視圖 是已排序或已分類的文件清單。若為表單型 Designer,視圖是儲存在資料庫中的資料的進入點。 視圖可以併入至 XPage。
資料夾 是用來儲存相關文件或文件分組的儲存器。資料夾和視圖有相同的設計元素。
XPage 使用應用程式時,定義與使用者互動的文字及使用者介面控制項。
自訂控制項 是儲存為單一物件的使用者介面控制項集合。
頁框組 是頁框的集合,可將結構新增至您的應用程式。
頁面 是顯示資訊的資料庫設計元素。
共用元素 - 子表單 是儲存為單一物件的表單元素集合。
共用元素 - 欄位 收集資料。您可以在表單、子表單及佈置區域上建立欄位。 若為 XPage,您可以將控制項連結至欄位。
共用元素 - 直欄 顯示欄位值及文件的其他相關資訊。您可以在視圖及資料夾上建立直欄。
共用元素 - 大綱 提供應用程式的組織架構,並控制元素在導覽窗格中的顯示方式。
共用元素 - 導覽器 是圖形導覽圖,可將使用者引導至應用程式的特定部分。
程式碼 - 代理程式 在應用程式中任意處,設定由使用者啟動的作業或背景作業。
程式碼 - 共用動作 在表單或視圖上設定由使用者啟動的作業。
程式碼 - Script 程式庫 包含 LotusScript、Java 或 JavaScript 程式碼,以併入用戶端或伺服器程式設計元素中。JavaScript 程式庫適用於 XPage。
程式碼 - 資料庫 Script 是為應用程式層次事件所啟動的程式設計元素,例如,開啟或關閉應用程式。
程式碼 - Web 服務提供者 是根據 XML 的一種自行包含、自行說明的模組化應用程式,它可以發佈至 Web 或從 Web 呼叫。Web 服務提供者是一種 Domino 伺服器上所管理的 Web 服務,因此可以從其他電腦來呼叫該服務。
程式碼 - Web 服務使用者 呼叫其他電腦上的 Web 服務。
程式碼 - Java

建立涵蓋 NSF 專案的 Java 類別介面列舉元素(在 Java 視景的程式碼/Java 底下)。 XPage 中的程式碼可以直接呼叫 Java 程式碼。

程式碼 - Jars

可讓您使用應用程式 NSF 中包括的已包裝 Java 程式碼/程式庫。可讓您不用將 JARS 部署至伺服器,及/或將原始檔唯一地併入應用程式資料庫中。此元素只可用於 XPage 應用程式,其中,JAR 會自動由 XPage 執行時期載入。

資料 - 資料連線 是在 Domino 應用程式與外部資料來源之間建立資料交換的資源。
資料 - DB2® 存取視圖 定義 Notes 資料的 DB2 視圖。
資源 - 影像 用作 XPage、頁面、表單、子表單、動作按鈕及大綱項目上的圖形或圖示,以及表單、文件、頁面、表格資料格及動作按鈕上的背景影像。
資源 - 檔案 可讓您在應用程式內或在應用程式之間共用非 NSF 檔案。
資源 - 小應用程式 是一種自行包含 Java 的程式,可以在 Domino 應用程式中執行。
資源 - 樣式表 可建立或匯入。依預設,XPage 及使用者介面控制項會使用 Domino 隨附提供的預設階式樣式表 (CSS)。您可以使用這些資源來置換預設值。
資源 - 佈景主題 是 HTML 產生作業的伺服器端自訂,可用來定義應用程式的外觀。依預設,XPage 及使用者介面控制項會使用針對伺服器所定義的任何主題。 該廣域主題可被修改以供所有應用程式使用,也可以置換為應用程式的特定主題。
資源 - 關於文件 說明應用程式的目的。
資源 - 使用文件 提供使用者指示
資源 - 圖示 可協助使用者在書籤窗格上快速識別資料庫,而且可以從圖示編輯器帶入您的應用程式。
複合應用程式 - 佈線內容 可讓您存取複合應用程式內的 WSDL 檔案。
複合應用程式 - 應用程式 可讓您存取包含複合應用程式定義的必要 XML 檔案。
複合應用程式 - 元件 如果根據 XPage,則會在複合應用程式中部署
應用程式配置 - 應用程式內容 可讓您設定應用程式層面的內容。
應用程式配置 - Faces-config 提供 webcontent\web-inf\faces-config.xml 的編輯存取權。這是配置檔案,用於配置 XPage 中的受管理 Bean(在其他事物之間,例如自訂轉換器/驗證器)。
應用程式配置 - Xsp 內容 提供包含 XPage 架構參數集合(稱為 xsp.properties)之檔案的編輯存取權。其用於應用程式或伺服器層次上,以在您的應用程式 XPage 中設定及控制 XPage 設定。每一個 XPage NSF 應用程式都包含 xsp.properties 檔案。

由於本使用手冊著重於 XPage 及使用 XPage 的應用程式,因此內容含有 XPage 應用程式中所使用的設計元素子集的詳細資訊。 如需其他「表單型」設計元素及「表單型」應用程式的詳細說明文件,請參閱 Domino Designer Basic User Guide and Reference

選取及過濾設計元素類型

您可以選取及過濾您要在「應用程式導覽器」中顯示的設計元素類型,方法為在喜好設定 > Domino Designer > 應用程式導覽器中進行您的選擇。

喜好設定畫面上選取元素,來選取您偏好使用並顯示的元素。藉由從畫面上的清單選取視景,您也可以個別地針對三個視景的每一個視景,來設定選擇及過濾選項:Domino Designer、XPage 及「表單/視圖 Domino Designer」。

比較設計元素的版本

您可以藉由在特定項目上按一下滑鼠右鍵,並從快速功能表中選取比較類型,來比較不同版本的設計元素或資源。執行比較時,比較編輯器會出現在編輯區中。版本之間的差異會強調顯示於比較編輯器中,可讓您瀏覽及複製比較版本之間的變更。

您可執行下列比較類型:
  • 相互比較 > 本端歷程 - 將所選取元素或資源與本端歷程中的元素或資源(其會在您儲存變更時保存)作比較。
  • 相互比較 > 彼此 - 將兩個或三個所選取元素或資源相互比較

設計編輯器

「設計」編輯器是您編輯 XPage 及其他設計元素,以及檢視設計元素清單的地方。

內容視圖會顯示編輯器中的現行選項內容。 例如,若您在 XPage 中利用使用者介面 (UI) 控制項,則當您在 XPage 編輯器中按一下該使用者介面控制項時,內容視圖便會顯示該使用者介面控制項的內容。

您可以在編輯器中執行下列作業:

作業 動作
開啟設計元素或清單 在「應用程式導覽器」中選取設計元素或清單。在選取項目上按兩下,或按一下檔案 > 開啟
在開啟的設計元素與清單間切換 按一下您要檢視之設計元素或清單的標籤。
關閉設計元素或清單 在設計元素或清單標籤上,按一下關閉圖示 (X),或者,選取標籤然後按一下檔案 > 關閉
關閉所有設計元素與清單,包括現行項目在內 按一下檔案 > 全部關閉。您也可以標籤上按一下滑鼠右鍵,然後選取全部關閉
將編輯器最大化 按一下最大化圖示,或按兩下標籤。
將編輯器還原至其原始大小與位置 按一下還原圖示,或按兩下標籤。只有在編輯器已最大化時,才會啟用此功能。
使用鍵盤的箭頭來調整編輯器的大小 在標籤上按一下滑鼠右鍵,並選取大小,然後選取來強調顯示編輯器的邊緣。在鍵盤上按下適當的箭頭,以展開或縮小編輯器。

原始碼編輯器

使用「原始碼」編輯器來直接編輯 XPage 原始碼。

當您正在編輯 XPage 時,可以使用「原始碼」標籤來直接編輯 XPage 原始碼。如果您熟悉 XPage 語言,這會很有幫助。

您可以在編輯器中執行下列作業:

作業 動作
編碼時使用內容輔助。

CTRL+SPACE,以在編碼時呼叫內容輔助功能。這也可用於 XPage 中內嵌的 SSJS(伺服器端 JavaScript)。

XPage 原始碼編輯器的內容輔助功能是透過使用綱目來驅動。Domino Designer 會根據現行 Notes 應用程式,動態地建置綱目。綱目包含在 XPage 執行時期中每一個標籤的每一個屬性的說明資訊。

編碼時使用超鏈結導覽。

超鏈結導覽說明一般 Eclipse 功能,其中,編輯器內的文字可製作成超鏈結。 將游標移至任何文字或鏈結(包括自訂控制項名稱)上方時按 CTRL,以直接導覽至該鏈結位置/設計元素。Eclipse 會將意見提供給您正在使用超鏈結導覽的編輯器。

例如,編輯自訂控制項時使用此功能。當您按 CTRL 並將游標移至原始碼編輯器中的「自訂控制項」上方時,超鏈結導覽可讓您直接導覽至該「自訂控制項」。

編碼時使用浮動說明。

若要使用此功能,請將游標移至特定的「節點」上方,以取得該節點的相關資訊。類似於超鏈結導覽(請參閱上方),Eclipse 編輯器架構可提供現行標籤(及屬性)的說明。

透過 xsp-config 為其本身提供說明的所有標籤及屬性,都可以在 XPage 原始碼編輯器內的浮動說明功能中看見該資訊。

您可從「Domino Designer 喜好設定」標籤中控制此功能的行為。依預設,會以與喜好設定相關聯的 500 毫秒逾時,開啟此功能。亦即,一旦游標處於「休息」的時間大於 500 ms(毫秒),Eclipse 編輯器架構即會呼叫 XPage 原始碼編輯器浮動說明功能。

呼叫產品說明系統 F1 以開啟環境定義說明。
執行其他編輯作業。 在「原始碼」編輯器頁面上按一下滑鼠右鍵,以顯示在編輯器中可執行的其他動作功能表。
將編輯器最大化 按一下最大化圖示,或按兩下標籤。
將編輯器還原至其原始大小與位置 按一下還原圖示,或按兩下標籤。只有在編輯器已最大化時,才會啟用此功能。
使用鍵盤的箭頭來調整編輯器的大小 在標籤上按一下滑鼠右鍵,並選取大小,然後選取來強調顯示編輯器的邊緣。在鍵盤上按下適當的箭頭,以展開或縮小編輯器。

選用區及視圖

選用區及視圖提供可與設計元素一起使用的工具。

選用區

選用區讓您使用「控制項」及資料來源。下列是可用的選用區:

控制項選用區
包含使用者介面控制項與自訂控制項,這些控制項可用來設計 XPage 的佈置,以及決定如何在資料庫中輸入及儲存資料。您可以將控制項從選用區拖放至 XPage 上。

只有在 XPage 編輯器處於作用中時(例如,如果您正在編輯 XPage 或自訂控制項),此選用區才會處於作用中。選用區包含使用者介面控制項的抽屜:核心控制項儲存器控制項。如果您已新增自訂控制項至現行的 IBM Domino Designer 應用程式,則選用區中也會包含一個自訂控制項抽屜。

抽屜是一種內嵌的窗格,可讓您使用位在每一個抽屜開端與結束的向上向下箭頭來捲動選項。

您也可以使用選用區及其抽屜來執行下列項目:
  • 若要隱藏選用區,請關閉它。
  • 若要變更選用區內容,請按一下滑鼠右鍵並進行選擇。
  • 若要展開或收合抽屜,請按一下它。
資料選用區
讓您在 XPage 編輯器中檢視與所選取 XPage 或控制項相關聯的資料來源。若要顯示「資料」選用區,請按一下視窗 > 顯示 Eclipse 視圖 > 資料選用區

從「控制項」及「資料」選用區進行拖放時,請牢記下列資訊、限制及準則:

  • 您可以將控制項新增至所有儲存器控制項(除了視圖畫面之外)。
  • 除了鏈結控制項之外,您無法將控制項新增至核心控制項。這是因為鏈結控制項可以有子項,所以它在這方面的作用類似儲存器控制項。如果您嘗試將控制項新增至核心控制項,則新的控制項會新增至現有控制項上方的頁面。
  • 在「原始碼」標籤上,您可以讓控制項成為儲存器控制項的第一個或最後一個子項,其作法是將它拖曳到儲存器的開始或結束標籤,或是按兩下或使用建立功能表,並將焦點放在開始或結束標籤。
  • 您只能將控制項新增至表格中的資料格,而不能新增至列或表格儲存器本身。
  • 您可以將控制項新增至資料表中的直欄。一旦您在「原始碼」標籤上建立了控制項,即可新增定義為資料表(或資料表直欄)標頭或標底的儲存器控制項。若要將控制項定義為標頭或標底,請將控制項新增至資料表或直欄中的 xp:this.facets 元素。
  • 您只能將控制項新增至標籤畫面中的標籤,而不能新增至畫面本身。
  • 如果您在「原始碼」標籤上將控制項拖曳至標籤畫面的結束標籤,或按兩下,或使用建立功能表,將焦點放在結束標籤上,則會將控制項新增至標籤畫面的最後一個標籤。
  • 只有在已為自訂控制項定義可編輯區域的情況下,您才可以將已新增至 XPage 的控制項新增至自訂控制項。如果可編輯區域具有資料類型名稱,則您只能新增一個控制項;如果您移除資料類型名稱,則可以新增多個控制項。
  • 您無法將控制項新增至巢狀位於另一個自訂控制項內的自訂控制項。
  • 當您將資料來源從「資料」選用區拖曳至某個頁面時,您可以先重新排序來源,然後再將它們插入頁面中。在「資料」選用區的頂端,按一下「選取控制項」圖示,然後選取「選取資料連結控制項」。使用方向鍵將資料來源拖曳至頁面。

您可以建立「控制項選用區」設定檔,讓您選取哪些控制項以哪種順序出現在「控制項選用區」上。您可以建立多個選用區設定檔,各有您可在其間切換的不同控制項選用區佈置。若要存取選用區設定檔設定,請跳至檔案-喜好設定-Domino Designer-選用區。下列清單提供使用「控制項選用區」設定檔的其他資訊:

  • 依預設,會建立名稱為 Profile1 的起始設定檔。這是第一次啟動 Designer 時包含選用區現行狀態的設定檔。如果已使用舊的「Designer 選用區喜好設定」頁面修改了選用區,則將在 Profile1 中反映那些變更。 您可以從選用區設定檔使用者介面內重新命名及刪除 Profile1。
  • 使用者介面具有設定檔清單及樹狀結構,其中會顯示控制項抽屜以及那些抽屜中的控制項。 樹狀結構會顯示設定檔清單中所選取設定檔的選用區佈置。 您可以勾選想要在選用區中看到的控制項/抽屜,以及取消勾選不想要看到的控制項/抽屜。您也可以在其母項抽屜內移動個別控制項,但是無法在抽屜之間移動控制項。
  • 您也可以重新排序抽屜。然而,此版次的「控制項」選用區不支援控制項抽屜的重新排序。「自訂控制項」將永不會顯示在樹狀結構中,而且將一律呈現在控制項選用區中。
  • 當您按一下新建來建立新的設定檔時,新的設定檔選用區佈置將以設定檔清單中目前選取的設定檔為根據。依預設,將在設定檔清單中選取作用中設定檔。若要切換設定檔,請只選取您要啟動的設定檔,然後按一下「套用」或「確定」。
  • 若要將所選取檔案還原為預設設定檔,請按一下「還原預設值」。還原預設設定檔並不會刪除建立的設定檔。
  • 如果您刪除設定檔清單中的所有設定檔,則會以符合預設佈置的選用區佈置重建 Profile1。

視圖

視圖是 Eclipse 中的畫面,可讓您查看及使用應用程式的各種觀點。下列是可用的視圖:

事件視圖
讓您為 XPage 及控制項建立事件。您可以使用「事件」視圖,將簡式動作或 Script 附加至事件。 事件會組織成各種種類,以方便存取。

撰寫 Script 時,您可以建立伺服器端或用戶端事件。您可以指定可在事件發生後更新 XPage 的選項,其中包括根據非同步 JavaScript 與 XML (AJAX) 技術來執行部分 XPage 元素的局部更新。

撰寫簡式動作時,您可以撰寫動作來執行已預先撰寫為程式的活動,該活動可由引數來修改。您也可以建立簡式動作的群組。

大綱視圖
在 XPage 中提供 XML 原始碼的階層式顯示。您可以在「大綱」視圖中按一下個別節點以導覽 XPage,並在「內容」視圖中更新內容。 您也可以拖放元素,以重新排列區段及變更元素的順序。
問題視圖
顯示有關 IBM Domino Designer 資源的錯誤、警告及其他資訊。這些訊息會在您建置 Eclipse 工作區時產生。例如,若您儲存含有語法錯誤的 XPage,「問題」視圖即會顯示這些錯誤。
內容視圖
讓您為 XPage 及控制項設定內容。「內容」視圖會與目前開啟的編輯器互動。例如,若您要設計 XPage,並且將作業焦點移至 XPage 上的特定使用者介面控制項中,該使用者介面控制項的內容便會在「內容」視圖中變成可用。

「內容」視圖位於 IBM Domino Designer 視窗底端,它包含個別的標籤,您可以按一下標籤以顯示一組選項。由於每個 XPage 與使用者介面控制項都有它們自己獨特的一組內容,因此這些標籤與標籤內的選項會隨著目前所選取的項目而變更。例如,若您在檢視 XPage 的清單時按一下個別 XPage 的名稱,「內容」視圖便會顯示有關該 XPage 的一般資訊,例如 XPage 的名稱、作者及其建立日期。如果您按兩下 XPage 的名稱,就會在 IBM Domino Designer XPage 編輯器中以編輯模式開啟 XPage,而且會在「內容」視圖中出現一組新的標籤。這些標籤會隨著目前在編輯器中所選取的項目而變更,例如,整個 XPage 或個別的使用者介面控制項。

您可利用「內容」標題列上的按鈕來最小化、最大化及還原視圖。您可以在「內容」標籤上按一下滑鼠右鍵,以執行下列作業:
  • 隱藏視圖
  • 將視圖最小化及最大化
  • 將視圖分離為個別視窗
  • 還原已最小化或最大化的視圖

取得資訊

所安裝的說明系統是您可以立即取得資訊的資源。 其他資源還包括資訊中心、Domino Designer Wiki 以及各種網站上的文章。

若要從 Domino Designer 或 Notes 存取說明,請按一下說明 > 說明內容。一般而言,搜尋是最輕鬆的存取方式。這裡提供一些提示:
  • 輸入完整字詞。不須區分大小寫,但必須為完整的字詞。 例如,如果您要尋找 createFTIndex 方法,您可以輸入 createftindex,但是不可以輸入 createftinde
  • 搜尋結果可能會顯示重複或類似的標題,尤其是參考主題。 當您將游標移至標題上方時,蹦現畫面會告訴您其手冊的名稱。 此資訊也會出現在狀態行上。
  • 如果您經常使用某部分的說明,則應該為其設定搜尋範圍。 請參閱參照作業。
按一下 F1,會在右窗格中顯示補充說明的說明系統。部分資料的本質為摘要。 您可以使用鏈結,或者按一下搜尋或頁面底端的所有主題,以導覽至更加完整的說明文件。

您可以在「Notes Domino 資訊中心」(網址為 http://publib.boulder.ibm.com/infocenter/domhelp/v8r0/index.jsp)中找到與產品一起安裝的相同說明。

前往 Domino Designer Wiki(網址為 http://www.lotus.com/ldd/ddwiki.nsf),以取得文章、討論區及其他資訊。您可以在此 Wiki 上發表文章。

除了說明之外,您可以使用 Google 或其他 Web 產品來擴大搜尋。 請以 domino designer 作為搜尋查詢的開頭。 例如,若要取得 createFTIndex 方法的相關資訊,您可以輸入 domino designer createftindex 作為搜尋查詢。

如需 XPage 的上機簡介,請使用此說明中的指導教學。指導教學使用名為 Site finder demo 的進階範本。

設定搜尋範圍

搜尋範圍會限制所搜尋的說明主題。

關於這項作業

依預設,搜尋會套用在說明的所有主題。採取下列步驟來建立具名的範圍,將搜尋限制為指定主題。

程序

  1. 在搜尋視窗上,按一下搜尋範圍
  2. 選取搜尋範圍對話框中,選取只搜尋下列主題,然後按一下新建
  3. 新搜尋清單對話框中,輸入搜尋的名稱。
  4. 請勾選您要搜尋的部分說明。您可以在開始層及其下一層來勾選主題。
  5. 按一下確定,來儲存範圍,並關閉新搜尋清單對話框。

    選取只搜尋下列主題,清單中即會出現新範圍。

    您可以建立另一個範圍。

    您可以編輯或移除選取的範圍。

  6. 按一下確定,以關閉選取搜尋範圍對話框。
  7. 有效的範圍會出現在搜尋範圍的旁邊。若要變更範圍,請執行下列動作:
    1. 按一下搜尋範圍,以開啟選取搜尋範圍對話框。
    2. 選取只搜尋下列主題,然後選取範圍,或選取搜尋所有主題
    3. 按一下確定

範例

例如,若要只針對 Domino Designer 主題建立搜尋範圍,請執行下列動作:在新搜尋清單對話框中,將範圍命名為 Designer,並勾選所有以 Lotus Domino Designer 為開頭的最上層主題。

協助工具及鍵盤快速鍵

IBM Domino Designer 可供行動不便人士使用。行動不便及視力受限的人士可以使用特殊的鍵盤快速鍵作為輔助工具。

這些鍵盤快速鍵可讓您導覽及執行 Designer 中的不同作業。 如需相關資訊,請參閱產品說明系統中的 Domino Designer Basic User Guide and Reference 的 "Accessibility and keyboard shortcuts" 一節。在該小節中,您會發現不同的主題,說明與作業相關的鍵盤快速鍵。

可以在「IBM Notes 及 Domino 資訊中心」(網址為 http://publib.boulder.ibm.com/infocenter/domhelp/v8r0/index.jsp)中找到可存取版本的完整產品說明。

您也可以在「Notes 說明」中的「自訂 Notes 協助工具」主題中,找到其他相關資訊。如果未安裝「說明」,您也可以跳至 IBM Developer Domain 的「文件庫」(網址為 http://www.lotus.com/ldd/doc),並在該處下載或檢視「Notes 說明」。

最後,「IBM 特殊需求」網站位於 http://www.ibm.com/able。

指導教學

此區段包含指導教學及指導教學的相關資訊。

目前可在此章節中使用的指導教學是「XPage 網站搜尋器」指導教學。如需相關資訊,請參閱此章節中的其他主題。

XPages Site Finder 指導教學

此指導教學會示範如何使用 XPage 元素,在 IBM Domino Designer 中輕鬆地建立 Web 應用程式。使用此指導教學,可讓您建立及預覽三種 XPage。您可以在 XPage 上放置控制項以存取及檢視資料、導覽至其他頁面、重新整理相同頁面,以及執行其他動作。您甚至可以使用 JavaScript。

若熟悉 Domino Designer 與傳統設計元素會很有幫助,但這不是必要項目。系統預載了幾項在您學習範圍以外的設計元素與圖形。針對從未使用過 Eclipse 的使用者,在 Domino Designer 中導覽會提供詳盡的簡介。

示範的應用程式名稱為 Site Finder Demo,是一個與 Domino Designer 隨附遞送的進階範本。 它類似許多網站上用來尋找鄰近地點的工具。 在您提交郵遞區號或地址後,伺服器便會傳回相符的地點。在此指導教學中,您將開發用於提交的網頁,以及用來建立及編輯網站文件的其他網頁。

為簡化作業,存取將不受限制。任何人都能建立及編輯文件。此存取權可讓您預覽 XPage 功能,而不需要設定伺服器。但在實際應用程式中,您可能想限制存取權,這只要透過存取控制清單 (ACL) 即可輕鬆完成。在功能表中,按一下檔案 > 應用程式 > 存取控制

示範應用程式中的搜尋機制很簡單,僅以完全相符為原則。在實際應用程式中,您會想要有更精確的機制。

本文件與下列產品相關:IBM Domino、IBM Domino Designer、IBM Notes、IBM iNotes 及 IBM Notes Traveler。

學習目標

  • 設定及檢視含有 XPage 元素的應用程式
  • 建立 XPage
  • 新增控制項至 XPage
  • 將資料連結至 XPage
  • 新增導覽至 XPage
  • 建立自訂控制項
  • 使用進階的連結與撰寫 Script 作業

所需時間

此指導教學大約需要 90 分鐘的時間才能完成。

設定範例應用程式

在指導教學的課程中,您會建立三個 XPage:Site、SiteFinder 與 SiteList。當您第一次開啟範例應用程式時,您會看見具有類似名稱的現有 XPage。其中有三個是最終解決方案,其名稱分別為 SiteFinal、SiteFinderFinal 與 SiteListFinal。其中有兩個是中繼解決方案,其名稱分別為 Site1 與 SiteList1。

啟動 IBM Domino Designer,並執行下列步驟:
  1. 在功能表中,按一下檔案 > 應用程式 > 新建 (Ctrl+N)。
  2. 新建應用程式視窗中,執行下列步驟:
    1. 將「伺服器」選項保留為本端
    2. 鍵入標題,例如站台搜尋器示範
    3. 接受或修改檔名,例如 SiteFinderDemo.nsf
    4. 選擇性的: 按一下加密。選取不在本端加密此資料庫,然後按一下確定

      此步驟可讓其他 Notes 使用者從本端存取應用程式,比方說,如果您將它寄給其他人。一般而言,您應該將實際應用程式加密以確保其安全。本端加密無法防止應用程式透過抄寫與其他伺服器共用。

    5. 選取建立全文索引以進行搜尋。您稍後需要此項目。
    6. 將範本伺服器選項保留為本端
    7. 選取顯示進階範本
    8. 在範本清單中,選取站台搜尋器示範
    9. 清除繼承未來的設計變更
    新建應用程式視窗看起來應該像這樣。

    新建應用程式視窗

  3. 按一下確定

    Domino Designer 會建立新的應用程式,而其元素會顯示在畫面左側的 Applications 下方。展開元素即可瀏覽此應用程式的設計。

  4. 展開程式碼,然後按兩下代理程式。在代理程式清單中,以滑鼠右鍵按一下建立樣本資料,並選取執行

    此代理程式會建立數個可用以測試應用程式的樣本記錄。請回應任何對話框。按一下角落的 X,以關閉包含代理程式清單的窗格。

  5. 展開 XPage,然後按兩下 SiteFinderFinal(SiteFinder 的最終解決方案)。
  6. 按一下設計 > 在 Web 瀏覽器中預覽 > 預設系統 Web 瀏覽器,或從所列的項目中選取特定的瀏覽器。

    在您的電腦上執行的迷你 Web 伺服器會開啟瀏覽器、為 XPage 產生 HTML,並以 localhost 作為伺服器名稱,將頁面傳送至瀏覽器。

    若您的電腦不是設定為使用 localhost,預覽 URL 將會失敗。請開啟瀏覽器,並在 URL 中使用 127.0.0.1 或電腦的實際 IP 位址,例如 http://127.0.0.1/SiteFinderDemo.nsf/SiteFinderFinal.xsp

  7. 郵遞區號欄位中指定一個值(例如 02108),然後按一下搜尋

    此步驟會將頁面提交至伺服器。伺服器會處理該頁面中的資訊,並將另一個頁面傳送至用戶端。

  8. 完成之後,請關閉瀏覽器。
  9. 在 Domino Designer 中,按一下 XPage 元素標籤上的 X,即可關閉該元素。

    外觀不盡相同。若一個窗格中有多個標籤,則每個標籤上都會有一個 X。如果窗格只有一個標籤,則會顯示為視窗,而 X 會出現在角落。

建議您預覽名稱中含有 Final 字樣的 XPage,以探索應用程式。這些 XPage 都是您在進行指導教學時設計出來的最終版本。

建立 XPage

本課程會教導您如何建立基本 XPage。

本課程會使用一個表單與一個視圖,但不會帶領您習作如何建立它們。Site 表單包含用以儲存站台資訊與搜尋準則的欄位,而 SiteList 視圖則是用以顯示站台清單與搜尋結果。請快速查看它們。如需表單與視圖的相關文件,請參閱說明中的 Domino Designer Basic User Guide and Reference
  • XPage 會使用表單來定義可在文件中儲存什麼資料,而不是如何顯示資料。這項定義類似使用顯示表單上的隱藏欄位來組織及計算資料。Site 表單包含用以建立文件與某些說明文字的資料欄位。使用者絕不會看到此欄位,因此不需要考慮到佈置。
  • XPage 會使用視圖來定義文件的集合及其順序。正如同您會使用視圖建立某些資料的索引,使它可以程式化方式進行處理,SiteList 視圖也可作為您的資料文件的索引。視圖會依照站台名稱的排序方式,列出所有文件的內容。視圖是組織文件的有效方式,我們常會使用數個視圖來顯示不同的子集與排序順序。

請確定已展開應用程式,並執行下列步驟:

  1. 按兩下 XPage

    此動作會在中間的窗格中顯示 XPage 元素的清單。

  2. 按一下新建 XPage
  3. 將新的 XPage 命名為 SiteList。(會採用 .xsp 副檔名,並且會自動加上它。)

    您可以在名稱中使用空格,但不使用時名稱會較為清楚。

  4. 按一下確定 會在中間的窗格中建立空白的 XPage 設計元素。
  5. 將標頭圖形放入頁面中:
    1. 核心控制項中選取影像,並將它拖曳至 XPage 上。 此時會出現選取影像視窗。
    2. 選取 xpTitlebarLeft_ren.gif

      選取影像視窗的外觀與下列的畫面擷取相似。

      選取影像視窗

    3. 按一下確定

    您在畫面擷取中看見的影像已預載。您在清單上看見的每個影像都是現行資料庫中的資源。新增按鈕可讓您匯入其他影像(也有其他方式可匯入影像)。

    在您按一下確定之後,影像應該會顯示為標頭。

  6. 按一下標頭影像右側的空白處,或按右移鍵以往該方向移動。如果看不見此區域,您可能需要往該方向捲動。按 Enter 鍵,使游標移至下一行。
  7. 輸入標頭文字:
    1. 在 XPage 上,按一下標頭下方的空白行。
    2. 鍵入站台清單,然後按 Enter 鍵。
    3. 強調顯示文字行。
    4. 在底部窗格中按一下字型,然後視需要變更字型,例如,變更為粗體 14 號藍色。
    稍後您將會新增樣式表,並將它套用至此文字,作為控制格式的替代方法。
您所設計的 XPage 與下列的畫面擷取相似:

SiteList XPage

有經驗的 Web 開發人員可能想使用能夠建構文件的元素,例如 H1H2。設計使用者介面不支援此結構,但來源使用者介面可讓您依需求輸入 XML。按一下原始碼標籤,以 XML 來檢視及編輯頁面。按一下設計標籤,回到指導教學。

新增視圖控制項

XPage 視圖控制項可用來顯示已定義之視圖中的資訊。您在本課程中建立的控制項可讓您顯示 SiteList 視圖中的資料。

確定 SiteList XPage 已於中央窗格中開啟,然後執行下列步驟:
  1. 儲存器控制項中選取視圖,並將它拖曳至 XPage 上。
  2. 選取視圖的資料來源視窗中:
    1. 顯示資料來源的設定保留為 Domino 視圖
    2. 應用程式的設定保留為目前

      您可以選取任何 Domino 應用程式,但除非該應用程式可在執行時期伺服器上使用,否則視圖控制項將無法運作。

    3. 視圖下拉清單中選取 SiteList。
    4. 接受以 view1 作為資料來源名稱。

      此名稱可在伺服器端 JavaScript 程式碼中使用。

    5. 在底端的直欄清單中,保留選取 SiteNameStreetAddressCitySiteType

    視窗的外觀與下列的畫面擷取相似。

    選取視圖的資料來源視窗

  3. 按一下確定

    畫面上會出現顯示視圖的表格。有四個直欄會顯示視圖直欄,並且有兩列會顯示直欄標題與直欄內容。第一列包含分頁器控制項,可讓使用者導覽視圖中的資料。

  4. 調整視圖控制項:
    1. 若要調整直欄的大小,請選取一個直欄中的兩個列(方法是按一下第一列中的資料格,然後按住 Shift 鍵,同時按一下第二個資料格),然後拖曳其中一個資料格上的控點。
    2. 若要選取整個標頭列,請按一下第一個資料格,然後按住 Shift 鍵,同時按一下該列中的其餘資料格。按一下 Ctrl+B 或使用字型內容可使這些資料格變成粗體。
  5. 可讓使用者在視圖控制項的第一個直欄中按一下文件時開啟該文件:
    1. 在底端的左側資料格 (SiteName) 內按一下。
    2. 在底端窗格的內容標籤中,按一下顯示
    3. 選取以鏈結顯示此直欄中的值

    頁面的外觀與下列的畫面擷取相似。

    具有視圖控制項的 SiteList XPage

  6. 將視圖控制項鏈結至編輯頁面。
    1. 按一下視圖控制項,讓整個視圖取得作業焦點。
    2. 在底部窗格中的內容標籤上,按一下視圖
    3. 從底端的在執行時期,開啟所選取文件的方式下拉清單中,選取 Site1。
  7. 儲存並預覽頁面。
    1. 按一下實際的 XPage 本身,讓作業焦點置於頁面本身。

      另一個讓頁面取得作業焦點的方式是在旁邊窗格中按一下大綱 > 根文件 > XPage。此動作會將作業焦點置於頁面本身。您可以在大綱中按一下相對應的元素,即可將作業焦點置於頁面上的特定設計元素。

    2. 按一下 Ctrl+S 以儲存頁面。
    3. 按一下設計 > 在 Web 瀏覽器中預覽 > 預設系統 Web 瀏覽器,或您所選擇的瀏覽器。 按一下清單中的文件。此文件會以 Site XPage 開啟。您可以在此視窗中變更文件,然後按一下提交以儲存變更。提交頁面不會使您離開該頁面,因此您仍然可以繼續編輯及儲存相同的文件。
      有數種方式可以儲存變更,以及重新整理瀏覽器:
      • 您在此指導教學中使用的提交按鈕會更新資料來源及重新整理頁面。
      • 按鈕按鈕可讓您將簡式動作或 JavaScript 附加至 onclick 事件。使用此事件可更新資料來源,並將使用者重新導向至另一個頁面。
      • 頁面事件可讓您將簡式動作或 JavaScript 附加至 postSaveDocument 事件。您可以在頁面上與 postSaveDocument 事件中放置提交按鈕,以將使用者重新導向至另一個頁面。

      您的 XPage 與 SiteList1 一樣,都能開啟以進行比較。

  8. 關閉瀏覽器。

建立 XPage 以進行編輯

表單也可以用來設計網頁,但 XPage 允許使用的使用者介面選項較多,並且可讓使用者不費力地控制其外觀。擁有表單還有助於提供連結資料的欄位清單。 此外,還可以使用表單,利用欄位公式對計算欄位進行計算,而不需要將程式碼放入 XPage 中。

在本課程中,您將學習如何新增文字至頁面、新增控制項至頁面、利用樣式表來調整頁面的外觀,以及將資料來源連結至頁面。有許多步驟需要執行,但一次只要採取一個步驟即可。

請執行下列動作:

  1. 在 XPage 的清單開頭,按一下新建 XPage。或者,您也可用滑鼠右鍵按一下 XPage > 新建 XPage
  2. 將新的 XPage 命名為 Site,然後按一下確定。XPage 與表單名稱不一定要相同,但相同的話會比較好處理。讓它們同名,可啟用不在此指導教學範圍內說明的特定自動行為。
  3. 將樣式表新增至頁面,如下所示:
    1. 在底端窗格中,按一下樣式
    2. 捲動至底端,並按一下將樣式表新增至頁面
    3. 將樣式表新增至頁面方框中,選取 styles.css
    4. 按一下確定
    這些 CSS 檔案是範例應用程式中所包含的樣式表設計元素。
  4. 為頁面新增標題並設定其樣式,如下所示:
    1. 在 XPage 上鍵入頁面的標題(例如站台說明),然後按 Enter 鍵。
    2. 強調顯示文字。
    3. 在最底端的窗格上,按一下樣式(如果您尚未進入該部分)。
    4. styles.css 下的清單中,按一下 .title
    文字的外觀將會變更,以符合選取的樣式。
  5. 建立(連結)XPage 與 Domino 後端資料儲存庫的關聯,如下所示:
    1. 在文字之外的 XPage 上按一下,使作業焦點置於頁面本身。
    2. Properties 下的底部窗格上,按一下資料
    3. 按一下新增,然後選取 Domino 文件

      畫面上會出現名為 document1 的資料來源。

    4. 在窗格側邊找出 Form,然後從下拉清單中選取 Site

      這會將 XPage 與 Site 表單上的資料定義產生關聯。

  6. 設定資料選用區,如下所示:
    1. 在窗格底端按一下資料選用區鏈結。 資料標籤會出現在側邊窗格中。您也可以按一下Window > 顯示 Eclipse 視圖 > 資料,來顯示「資料」標籤。
    2. 資料標籤上,選取 document1 作為資料來源。您可能必須先將作業焦點置於 XPage 上,新的資料來源才會出現在資料選用區中。

      資料來源的欄位名稱與類型會出現在資料來源的名稱下。

    3. 資料標籤的左上角,按一下選取控制項對話框的圖示以啟用它。

      選取控制項對話框的圖示看起來像這樣:

  7. 選取資料選用區中的所有欄位,並將它們拖曳至標題下方的 XPage 上。

    即會開啟選取資料連結控制項對話框。

  8. 填寫對話框,如下所示:
    1. 將所有勾選框保留為勾選狀態,表示您要包含此欄位。
    2. 依現狀保留所有標籤文字。
    3. 選取網站類型並使用下拉功能表,將其控制項類型變更為組合框
    4. 設施的控制項類型變更為清單框
    5. 方向的控制項類型變更為多行編輯框
    6. 勾選將提交按鈕新增至產生的程式碼
    7. 勾選將訊息控制項新增至產生的程式碼

    對話框看起來應該像這樣。

    選取資料連結控制項對話框

  9. 按一下確定

    這會建立兩欄式的表格,第一個直欄是標籤,第二個直欄是控制項。 第二個直欄中還有一個區域,會顯示驗證錯誤及 Submit 按鈕。

  10. 將焦點放在 SiteType 欄位並調整它,如下所示:
    1. 在底端窗格上按一下內容底下的資料,然後鍵入辦公室作為預設值。
    2. 若要為站台類型新增其他選項,請在內容之後按一下。按三次新增項目。選取每個項目的標籤,並將它們從未命名變更為辦公室零售餐廳

      您不需要為輸入任何項目,除非儲存值與顯示值不同,但在此案例中並沒有這種情況。

  11. 將焦點放在 Amenities 欄位並調整它,如下所示:
    1. 在底端窗格上按一下內容底下的清單框,然後勾選允許多重選項
    2. 按一下內容下的。按四次新增項目。選取每個項目的標籤,並將它們從未命名變更為自助餐廳健身中心訪客中心執行簡報中心
    3. 在資料格內但在標籤控制項(「便利設施:」)外,按一下直欄 1。在內容下按一下表格資料格,然後針對資料格垂直對齊選取靠上

      這會使標籤對齊資料格的開頭。

    如果您偏好使用 Amenities 的勾選框,則可以移除「清單框」,並從「控制項」選用區拖曳「勾選框群組」。按一下內容下的資料,然後從連結目標下拉功能表選取設施。 如同上述中的步驟 11,在標籤上輸入值。

    之所以同時要有 CitySearchCity 這兩個欄位是為了在實際站台名稱之外,可以有另一個城市供搜尋之用。例如,其中一個範例站台位於 Boston 近郊的 Brighton,因此在搜尋時,我們會說它位在 Boston。但就國家而言,我們就會假設實際國家與搜尋國家是相同的。

    您的 XPage 看起來應該像這樣。

    站台說明 XPage

    此時,您的 XPage 應該與您可以開啟以進行比較的 Site1 類似。

  12. 調整表格,使包含 Submit 按鈕的列在不能編輯頁面時被隱藏起來。您將需要用到一點 JavaScript。
    1. 按一下包含 Submit 按鈕的表格資料格(是資料格,不是按鈕)。
    2. 在底部窗格的內容下,按一下表格資料格(若尚未選取它)。
    3. 按一下可見旁的菱形圖示,再按一下計算值 此時會開啟 Script 編輯器。
    4. 在 Script 編輯器中,按兩下廣域變數清單中的 document1,然後鍵入期間。

      廣域變數 document1 是代表 XPage 正在檢視之現行文件的 NotesXspDocument 類型物件。當您鍵入期間時,將會出現該物件的方法清單。

    5. 在方法清單中,捲動至底端,然後按兩下 isEditable()
      若文件是可編輯的,將會傳回 true,否則會傳回 false。公式看起來應該像這樣:
      document1.isEditable()
    6. 按一下確定

      Script 編輯器會關閉,並儲存您的程式碼。

    若傳回值為 false,此程式碼會隱藏包含按鈕的資料格。您也可以隱藏按鈕,而非資料格。
  13. 在 XPage 上按一下任何控制項以外的區域,以將作業焦點置於頁面上,然後按一下 Ctrl+S 以儲存頁面。
  14. 按一下設計 > 在 Web 瀏覽器中預覽 > 預設系統 Web 瀏覽器(或選取另一個瀏覽器)。 您可以在輸入值後按一下 Submit,以測試您的應用程式。這應該會將新文件輸入資料庫中。若要檢視文件清單,請使用 Notes 用戶端。完成之後,請關閉瀏覽器。

    此時,您的 XPage 應該與您可以開啟以進行比較的 SiteFinal 類似。

  15. 按一下中央窗格右上角的 X 即可關閉 Site XPage。

建立用以新增及刪除文件的控制項

SiteList XPage 可讓您在應用程式中檢視及編輯文件,但我們必須新增控制項才能建立及刪除文件。

請執行下列動作:
  1. 在 SiteList XPage 上,按一下第一個直欄內部(指直欄,而不是標頭),使它取得作業焦點。
  2. 內容中,按一下顯示
  3. 勾選勾選框 這會將勾選框置於每一列的開頭。使用者只要勾選方框,即可選取該列。
  4. 在 XPage 上,按一下標題的結尾處,然後按 Enter 鍵,即可在標題與視圖控制項之間加入空白行。
  5. 若在右窗格中沒有看到控制項清單,請按一下控制項標籤,或按一下Window > 顯示 Eclipse 視圖 > 控制項
  6. 按鈕控制項拖曳至標題下方的空白行上,然後執行下列動作:
    1. 在底部窗格的內容下,按一下按鈕(若它尚未取得作業焦點)。
    2. 將標籤變更為新建站台
    3. 按一下事件標籤。
    4. 確定已選取 onClick 事件。
    5. 按一下新增動作 即會開啟新增簡式動作對話框。種類應顯示為全部,動作則應顯示為開啟頁面。若不是這樣,請加以調整。
    6. 針對要開啟之頁面的名稱,請選取站台
    7. 針對目標文件,請選取新建文件
    對話框看起來應該像這樣。

    新增簡式動作對話框

  7. 按一下確定
  8. 拖曳第二個按鈕控制項來與第一個控制項並排,然後執行下列動作:
    1. 在底部窗格上按一下內容標籤,然後按一下按鈕(若它尚未取得作業焦點)。
    2. 將標籤變更為刪除選定項目
    3. 按一下事件標籤。
    4. 確定已選取 onclick
    5. 按一下新增動作
    6. 針對種類,請選取文件
    7. 針對動作,請選取刪除選取的文件
    8. 針對視圖名稱,請選取 viewPanel1

      若這不是您視圖控制項的名稱,請選取您的視圖控制項。

    9. 鍵入您真的要刪除勾選的網站嗎?作為確認文字。

    對話框看起來應該像這樣。

    新增簡式動作對話框

  9. 按一下確定
  10. Ctrl+S 以儲存頁面。
  11. 視需要預覽頁面。
  12. 按一下中央窗格右上角的 X 即可關閉 SiteList XPage。
此時,您的 XPage 應該與您可以開啟以進行比較的 SiteListFinal 類似。

建立 XPage 以進行搜尋

使用者可使用此頁面來指定搜尋參數,以及檢視結果。搜尋參數是城市、州、國家與郵遞區號的值。使用者可填寫其中任何參數,然後按一下按鈕。在重新整理頁面後,會在視圖中顯示結果。視圖的搜尋內容會將顯示項目限定為符合搜尋參數的文件。

請執行下列動作:
  1. 在 XPage 的清單開頭,按一下新建 XPage。或者,您也可以在側邊窗格中用滑鼠右鍵按一下 XPage > 新建 XPage
  2. 將新的 XPage 命名為 SiteFinder,然後按一下確定
  3. 在右窗格中的自訂控制項下,將標頭自訂控制項拖曳至 XPage。

    這與您放在 SiteList XPage 上影像相同,但是它已放入自訂控制項中,以方便維護。自訂控制項與子表單類似。

  4. 將樣式表新增至頁面,如下所示:
    1. 在實際頁面(非控制項)上按一下,讓焦點置於頁面上。
    2. 在底部窗格中的內容下,按一下樣式
    3. 捲動至底端,並按一下將樣式表新增至頁面
    4. 將樣式表新增至頁面方框中,選取 styles.css
    5. 按一下確定
  5. 請以下列方式新增標題:
    1. 在 XPage 上的標頭後按 Enter 鍵,鍵入頁面的標頭(例如站台搜尋器),然後再按一下 Enter 鍵。
    2. 強調顯示文字。
    3. 在底部窗格上按一下樣式(若您尚未進入該部分)。
    4. styles.css 下的清單中,按一下 .title
    文字的外觀將會變更,以符合選取的樣式。
  6. 在標題文字下輸入使用者的指示(例如填寫其中任何或所有欄位,然後按一下「搜尋」),然後按 Enter 鍵。
  7. 建立具有四個列以及兩個直欄的表格,如下所示:
    1. 從右窗格中的儲存器控制項,將指示下的表格拖曳至 XPage 上。

      此時會出現插入表格對話框。

    2. 插入表格對話框中,指定 4 個列以及 2 個直欄。
    3. 按一下確定
    4. 使用抓取控點來調整表格的寬度。
  8. 針對直欄 1 中的每個資料格執行下列動作:
    1. 從右窗格中的核心控制項,將標籤拖曳至資料格中。
    2. 在底部窗格中,將控制項的標籤變更為城市(列 1)、(列 2)、國家(列 3)或郵遞區號(列 4)。
  9. 請針對直欄 2 中的每個資料格執行下列動作:
    1. 從側邊窗格中的核心控制項,將編輯框拖曳至資料格。
    2. 在底部窗格中的內容下,按一下編輯框
    3. 將名稱變更為搜尋城市(列 1)、搜尋州(列 2)、搜尋國家(列 3)與搜尋郵遞區號(列 4)。
    4. 在底部窗格中的內容下,按一下資料
    5. 針對連結資料的方式,按一下進階
    6. 使用下拉功能表中,選取範圍變數
    7. 參數清單框中,選取階段作業範圍
    8. 捲動至底端,然後將變數名稱鍵入為搜尋城市(列 1)、搜尋州(列 2)、搜尋國家(列 3)或搜尋郵遞區號(列 4)。
    將這些編輯框連結至範圍變數,可讓我們在 JavaScript 程式碼而不是在資料儲存庫中存取這些方框的值。在伺服器上的使用者階段作業期間,階段作業變數仍會在各個頁面上保有其值。
  10. 請執行下列動作,以建立可提交及重新整理頁面的按鈕:
    1. 從側邊窗格中的核心控制項,將按鈕拖曳至表格下方的行中。
    2. 在底部窗格中,將控制項的標籤變更為搜尋
    3. 在按鈕類型的下拉清單中,選取提交
    按一下此按鈕即會將頁面提交至伺服器,並根據使用者輸入的值重新整理頁面的內容。
  11. 請執行下列動作,以顯示用來取得結果的查詢:
    1. 在 XPage 上的下一行中,鍵入查詢字串:與一個空格。
    2. 從右側的核心控制項,將計算欄位拖曳至頁面上。
    3. 在底部窗格中的內容下,按一下字型。將顏色變更為藍色。
    4. 在底部窗格中的內容下,按一下
    5. 針對連結資料的方式,按一下進階
    6. 使用下拉功能表中,選取範圍變數
    7. 參數清單框中,選取階段作業範圍
    8. 捲動至底端,然後將變數名稱鍵入為 queryString

      您可以自行選擇變數名稱,這沒有特別的意義。您將於稍後指派值給它。

    這可讓我們顯示稍後所計算的查詢。這項顯示在實際執行應用程式中不一定是必要的,但對測試很有幫助。
  12. 從側邊窗格中的儲存器控制項,將視圖拖曳至頁面的下一行中。
    1. 顯示資料來源的設定保留為 Domino 視圖
    2. 應用程式的設定保留為目前
    3. 視圖下拉清單中選取 SiteList
    4. 接受以 view1 作為資料來源名稱。
    5. 在底端的直欄清單中,取消勾選 SiteNamePhoneStreetAddressCityState 以外的每個項目。 您可以變更此項然後選擇要顯示的直欄,但必須包含 SiteName
    6. 按一下確定
  13. 在底部窗格中的內容下,按一下視圖。針對在執行時期用來開啟所選文件的物件選取站台
  14. 在底部窗格中的內容下,按一下資料。請確定視圖已設為 SiteList
  15. 現在,請設定搜尋查詢,將視圖限制為符合使用者為搜尋欄位輸入之內容的文件。請執行下列動作:
    1. 在底部窗格中的內容下,按一下所有內容
    2. 捲動至底端。展開資料,再展開第二次出現的資料。選取搜尋內容。

      您的螢幕看起來應該像這樣。

      搜尋內容

    3. 按一下搜尋內容旁邊的菱形圖示,然後選取計算值

      此時會開啟 Script 編輯器。

    4. 在 Script 編輯器中輸入下列程式碼。請確定語言是伺服器端 JavaScript,並且已設定動態計算
      var tmpArray = new Array("");
      var cTerms = 0;
      if(sessionScope.searchZip != null & sessionScope.searchZip != "") {
      	tmpArray[cTerms++] = "(FIELD SearchZip = \"" + sessionScope.searchZip + "\")";
      }
      if(sessionScope.searchCity != null & sessionScope.searchCity != "") {
      	tmpArray[cTerms++] = "(FIELD SearchCity = \"" + sessionScope.searchCity + "\")";
      }
      if(sessionScope.searchState != null & sessionScope.searchState != "") {
      	tmpArray[cTerms++] = "(FIELD SearchState = \"" + sessionScope.searchState + "\")";
      }
      if(sessionScope.searchCountry != null & sessionScope.searchCountry != "") {
      	tmpArray[cTerms++] = "(FIELD Country = \"" + sessionScope.searchCountry + "\")";
      }
      qstring = tmpArray.join(" AND ").trim();
      sessionScope.queryString = qstring; // this just displays the query
      return qstring // this is what sets the search property

      您不會進行此習作,但可將此程式碼放入函數的表單與 Script 程式庫中。然後會將 Script 程式庫當成資源新增至簡單參照所存取的頁面與函數。如此,您只要在單一位置進行維護,即可在多個位置使用此程式碼。

    5. 按一下確定
    此程式碼會使用連結至這些編輯框的階段作業範圍變數來取得使用者在頁面上輸入的值。此程式碼會建置並傳回與 searchZipsearchCitysearchStateCountry 欄位中的文件值相符的查詢字串。

    為方便瞭解,我們使用的欄位名稱與我們搜尋的文件中所使用的相同,但實際上我們可使用任何名稱。

  16. 調整第一個直欄,以允許使用者在讀取模式中開啟文件:
    1. 在 XPage 上,按一下視圖的第一個直欄內部。
    2. 在底端窗格的內容下,按一下顯示
    3. 勾選以鏈結顯示此直欄中的值
    4. 若為文件開啟模式,請按一下唯讀

    查看搜尋結果的 Web 使用者將無法編輯他們進入鏈結時所找到的文件。在實際的應用程式中,您也會使用存取控制清單。

  17. 儲存您的變更,並預覽新的搜尋螢幕。
  18. 視需要預覽頁面。請嘗試進行搜尋,例如:搜尋郵遞區號以找出 0210833432、 搜尋城市以找出 Boca RatonBoston、搜尋州以找出 MA,以及搜尋國家以找出 France
  19. 按一下中央窗格右上角的 X 即可關閉 SiteFinder XPage。
此時,您的 XPage 應該與您可以開啟以進行比較的 SiteFinderFinal 類似。

此處所說明的程序不一定是組織搜尋功能的最佳方式,但的確是方式之一。您也可以改從搜尋按鈕中的 JavaScript 程式碼指派資料來源的搜尋內容。使用此方式時,頁面上較容易有多個查詢資訊的來源,例如可用於不同搜尋類型的多個搜尋按鈕。

您可以使用其他控制項,進一步格式化您的結果。例如,資料表可讓您進一步掌控搜尋結果的版面配置,因此常用來取代視圖。但視圖控制項是非常簡單易用的。

管理應用程式

IBM Domino Designer 會提供當您開發應用程式專案時,用來管理工作及相關檔案的功能。

現行主要功能(來源控制啟用)可讓您將 NSF 型設計元素儲存至來源控制儲存庫,並使用 Domino Designer 來執行一般來源控制作業。此功能的執行方式,是讓您在來源控制所管理的磁碟內存專案與 Domino Designer 追蹤的虛擬 NSF 型專案之間建立關聯。

提供此功能,讓您可以儘可能流暢地整合 SVN 來源控制用戶端與 Domino Designer,並讓 Domino Designer 儘可能保持為「與來源控制系統無關」。

本文件與下列產品相關:IBM Domino、IBM Domino Designer、IBM Notes、IBM iNotes 及 IBM Notes Traveler。

Domino Designer 中的來源控制

可以利用 Domino Designer 來進行來源控制作業。本節提供使用來源控制啟用功能所需的所有資訊,讓此功能可供使用。

來源控制啟用

已引進來源控制啟用功能,可讓您將 NSF 型設計元素儲存至來源控制儲存庫,並使用 Domino Designer 來執行一般來源控制作業。

SVN 及 CCRC 這類的 Eclipse 型(亦即開放程式碼)來源控制用戶端會使用實體檔。因此,它們無法直接使用包含虛擬檔案(對映至 NSF 型設計元素)的 Designer 專案。 它們只會使用磁碟上儲存的專案。因此,您需要使用磁碟上鏡映虛擬 NSF 專案的專案,才能執行來源控制作業。

為了協助解決此問題,已引進 Domino Designer 來源控制啟用功能,可讓您將 NSF 型設計元素儲存至來源控制儲存庫,並使用 Domino Designer 來執行一般來源控制作業。此功能的執行方式,是讓您在來源控制所管理的磁碟內存專案與 Designer 追蹤的虛擬 NSF 型專案之間建立關聯。事實上,此步驟是在實施任何基本來源控制作業之前需要完成的必要條件。

最後,此功能可讓您儘可能流暢地整合 SVN 來源控制用戶端與 Domino Designer,並讓 Domino Designer 儘可能保持為「與來源控制系統無關」。

必要條件:設定與來源控制啟用搭配使用的版本來源控制系統

本主題說明如何先設定版本來源控制系統,讓您可以使用來源控制啟用功能。

關於這項作業

開放程式碼版本來源控制系統(例如 Subversion®)可讓您共用儲存庫上的專案,之後可將專案儲存於其中。 儲存庫就像檔案伺服器,除了它不僅儲存檔案系統的副本,還儲存它的先前狀態及變更歷程。 Subversion® 這類的來源控制系統會使用網路連線來存取儲存庫。這可讓您使用共用檔案,並監看其他開發人員所進行的每一個可能變更。

在您可以在 Domino Designer 中使用來源控制啟用功能之前,假設 Designer 中已安裝或已動態供應 SVN/Clearcase(軟體版本化及修訂控制系統)的來源控制外掛程式。 依照準則,需要完成下列步驟,才能開始使用來源控制啟用功能:

程序

  1. 安裝並配置開放程式碼版本來源控制系統
  2. 在 Subversion 伺服器中建立儲存庫(請參閱 Subversion 軟體文件)
  3. 向來源控制伺服器登錄新的儲存庫,方法為按一下新建 - 儲存庫位置 - 新建儲存庫畫面,然後輸入伺服器 URL 及使用者認證。

下一步

如果尚未安裝開放程式碼版本來源控制系統,則您可以使用下列步驟來安裝 Subversion® 系統:
註: 附註:此版本至少需要 Eclipse 3.3,而且不支援舊版的 Eclipse IDE。
  • 啟用應用程式 - 安裝功能表,方法為選取啟用 Eclipse 外掛程式安裝的喜好設定。
  • 針對網站 http://www.eclipse.org/subversive/downloads.php 上列出的 SVN Eclipse 外掛程式安裝更新網站。 請使用 Helios 版次。GEF(3.4 以上版本)是 Subversion 外掛程式的前置需求,所以也會要求您安裝之前顯示的 GEF 外掛程式。
  • 一旦安裝了此外掛程式,即會從下列更新網站安裝相關的 SVN 連接器:http://community.polarion.com/projects/subversive/download/eclipse/2.0/helios-site/。過程中可能會提示您每一個連接器外掛程式。
  • 若要檢查是否已正確地安裝這兩個更新網站,請驗證是否可在 Domino Designer 中開啟 SVN 儲存庫瀏覽視景,然後連接至 Subversion 伺服器。
註: 已使用下列外掛程式版本測試了先前說明的範例安裝實務範例:
  • Subversive 外掛程式:Subversive-incubation-0.7.9.I20100512-1900.zip
  • Subversive 連接器:Subversive-connectors-2.2.2.I20100512-1900.zip
相對於最新或更新版本,強烈建議您使用這些版本。不過,如果想要嘗試其他版本,則建議您嘗試使用與範例中版本類似的版本。
註: 依預設,Subversive 來源控制外掛程式(及可能有其他來源控制產品外掛程式)會安裝最新版本的「圖形編輯架構 (GEF)」。如果已安裝比 3.6.2 版更新的 GEF 版本,則目前開啟 XPage 以在 Designer 中進行編輯時,將不會顯示 XPage。

若要解決此問題,請在安裝 Subversive 外掛程式(或其他適用的來源控制產品外掛程式)時,安裝「不」比 3.6.2 版更新的「圖形編輯架構 (GEF)」特定版本。建議安裝 3.6.2 版。若要執行此動作,請在安裝程式期間,取消勾選只顯示每個更新網站的最新版本功能勾選框。展開 .../gef/updates/releases/ 功能,並選取 GEF SDK 3.6.2

設定來源控制啟用功能

下列主題提供起始設定作業的相關資訊,您需要完成這些作業,才能開始使用 Domino Designer 來源控制啟用功能,作為每日來源控制作業的一部分。

  • 在磁碟內存專案與 NSF 之間建立關聯
  • 使 NSF 與現有的磁碟內存專案建立關聯
  • 設定起始同步化作業的方向
  • 使 NSF 與新的磁碟內存專案建立關聯
  • 設定來源控制啟用功能喜好設定

開始之前:在磁碟內存專案與 NSF 之間建立關聯

來源控制啟用功能需要您在來源控制所管理的磁碟內存專案與 Designer 使用的虛擬 NSF 型專案之間建立關聯。

SVN 及 CCRC 這類的 Eclipse 型(亦即開放程式碼)來源控制用戶端會使用實體檔。因此,它們無法直接使用包含虛擬檔案(對映至 NSF 型設計元素)的 Designer 專案。 它們只會使用磁碟上儲存的專案(如磁碟內存專案)。因此,您需要使用磁碟上鏡映虛擬 NSF 專案的專案,才能執行來源控制作業。

若要完成此動作,來源控制啟用功能需要您在來源控制所管理的磁碟內存專案與 Designer 使用的虛擬 NSF 型專案之間建立關聯。 此步驟是在實施任何基本來源控制作業之前需要完成的必要條件。

下列是建立此關聯所需完成的一般步驟。

  • 確定您已在 Designer 中開啟或建立 NSF 應用程式。
  • 在「應用程式導覽器」中,選取要與磁碟內存專案建立關聯的 NSF,然後在按一下滑鼠右鍵即可取得的快速功能表中,選取團隊開發 - 與現有的磁碟內存專案建立關聯。Domino Designer 來源控制啟用功能的操作方式,是藉由在虛擬 NSF 專案與磁碟內存專案之間建立關聯或對映。選取此功能表選項將完成此關聯。

使 NSF 與現有的磁碟內存專案建立關聯

來源控制啟用功能可讓您在來源控制所管理的現有磁碟內存專案與 Designer 使用的虛擬 NSF 型專案之間建立關聯。

關於這項作業

請使用下列步驟,來建立「Designer 應用程式 (.NSF) - 磁碟內存專案 (ODP)」關聯或對映。這是從與磁碟內存專案建立關聯... 畫面中執行。

程序
  1. 在 Domino Designer 中開啟或建立 NSF 應用程式。
  2. 選取已建立的 NSF,並從功能表中選取「團隊開發 - 與現有的磁碟內存專案建立關聯...」。這會開啟與磁碟內存專案建立關聯畫面。 從這個畫面中,選取現有的磁碟內存專案,以及選取將在建立關聯之後發生的起始同步作業的方向。 預設值為「從磁碟內存專案匯入至 nsf_filename」。
  3. 如需同步設定的詳細資料,請參閱設定起始同步化作業的方向主題。

設定起始同步化作業的方向

本主題說明在 NSF 與磁碟內存專案之間建立關聯時,所發生的起始同步化作業可用的方向。

在 NSF 與磁碟內存專案之間建立關聯時,您需要選取起始同步化作業的方向。 這可以是下列其中一項:

  • nsf 檔名 匯出至選取的磁碟內存專案 -- 當起始方向設為此項時,起始同步化作業將以適當格式從虛擬 NSF 專案中匯出所有內容至磁碟內存專案,然後您可以將它們確定至來源控制儲存庫。
  • 從選取的磁碟內存專案匯入至 nsf 檔名 -- 當起始方向設為此項時,起始同步化作業將以來自磁碟型專案的內容來更新 NSF 專案。

使 NSF 與新的磁碟內存專案建立關聯

來源控制啟用功能可讓您在新的磁碟內存專案與 NSF 之間建立關聯。

關於這項作業

若要使 NSF 與新的磁碟內存專案建立關聯,請從... 選取檔案 - 團隊開發 - 設定此應用程式的來源控制

若要在 Domino Designer 應用程式導覽器中執行此動作,請用滑鼠右鍵按一下您要新增至來源控制之應用程式的應用程式標頭(圖示),然後選取團隊開發 - 設定此應用程式的來源控制。這會建立新的磁碟內存專案,而且開啟的 NSF 專案的所有內容依預設都會匯出至其中。

若要取得如何使用來源控制啟用功能搭配一般來源控制作業的相關資訊,請參閱利用來源控制啟用功能來完成一般來源控制作業主題,以取得詳細資料。

設定來源控制啟用功能喜好設定

本主題說明您可以設定哪些喜好設定,來自訂來源控制啟用功能作業。

若要進一步自訂來源控制啟用功能作業,您可以按一下檔案-喜好設定-Designer-來源控制來設定喜好設定。這些喜好設定將在您使用這個功能時套用至其中。 這些喜好設定包括下列各項:

  • 對來源控制作業使用「二進位 DXL」-- 有不同方式,可以在磁碟上呈現設計元素,視所呈現的設計元素類型而定 - 如需完整詳細資料,請參閱「選取要在磁碟上呈現設計元素的方式」一節。
  • 修改時啟用自動匯出設計元素(從 NSF 到磁碟)-- 提供此喜好設定,以在使用者於 NSF 內修改設計元素之後,啟用設計元素的隱含匯出。 如果選取此喜好設定,則對 NSF 專案的任何編輯(例如建立/更新/刪除表單、XPage 等等)都會隱含地反映在磁碟內存專案上,然後您可以將它們確定至來源控制儲存庫。
  • 修改時啟用自動匯入設計元素(從磁碟到 NSF)-- 提供此喜好設定,以容許在磁碟專案中修改設計檔案時,將設計檔案從磁碟隱含地匯入至 NSF。 這也需要「自動建置」為「開啟」。在設定此喜好設定之後,如果使用者以來自儲存庫的內容來更新磁碟專案,則將在 NSF 內自動匯入變更。
  • 在「設定」精靈中顯示「說明程式」畫面 - 當呼叫團隊開發-設定此應用程式的來源控制畫面時,此喜好設定將顯示說明程式畫面,說明來源控制啟用功能。

選取(勾選)一個喜好設定來啟用它,或取消選取它來停用它。

註: 依預設,會「啟用」自動同步化喜好設定。

選取在磁碟上呈現設計元素的方式

本主題說明在磁碟上呈現設計元素的方式。

有兩種不同方式,可以在磁碟上呈現設計元素,視正在呈現的設計元素類型而定。

  • 呈現為磁碟上一組 2 個檔案(內容及 meta 資料) -- XPage、「自訂」控制項、 「樣式表」、「檔案」、「佈景主題」、「複合應用程式」、「佈線」內容,以及 JS/SSJS/LS Script 程式庫,在磁碟上是以一組 2 個檔案來呈現,即內容檔案及 meta 資料檔案。「內容」檔案具有在編輯器中看到的實際檔案內容,而 meta 資料檔案則包含 DXL,但扣除呈現設計元素其餘屬性的內容。
  • 呈現為包含設計元素之 DXL 的檔案 -- 其餘的設計元素、「表單」、「視圖」、「頁面」、Java Script 程式庫、「代理程式」、「共用動作」等等,都是以包含設計元素之 DXL 的檔案來呈現。提供喜好設定,以對已匯出內容的 DXL 使用「二進位」格式。 如需相關資訊,請參閱設定來源控制啟用功能喜好設定主題。

利用來源控制啟用功能來完成一般來源控制作業

提供一般工作流程的基本步驟,讓您瞭解它如何使用 Domino Designer 來源控制啟用功能。

因為它不在本文件範圍內,無法詳述各種可用來源控制系統的基本來源控制作業,所以提供一般工作流程的基本步驟,讓您瞭解它如何使用 Domino Designer 來源控制啟用功能。

一般處理程序可以進行如下的動作:

  • 適當的來源控制外掛程式會安裝至 Designer。
  • 在 Designer 中開啟資料庫。
  • 使資料庫 (NSF) 與磁碟內存專案 (ODP) 建立關聯,並從 NSF 匯出至 ODP
  • 確定 - 從 Designer ODP 傳送至來源控制儲存庫。
  • 移出 - 從另一個機器的來源控制儲存庫中存取 ODP。
  • 使資料庫 (NSF) 與 ODP 建立關聯,並從 ODP 匯入至 .NSF。
  • 修改 .NSF 及/或 ODP 並讓兩者同步(隱含地或明確地)。
  • 確定來源控制儲存庫的變更。
  • 更新以從來源控制儲存庫存取變更至 ODP。
  • 使已更新的 ODP 與 .NSF 同步

作為更特定的範例,一般工具會使用下列基本程序:

  • 共用「專案」以將它新增至「來源控制」。
  • 移出以從來源控制建立本端磁碟內存專案
  • 確定以傳送本端變更至來源控制
  • 更新以從來源接收變更。
註: 附註:如需您的系統如何處理基本作業的更多詳細資料,請參閱您的來源控制軟體文件。

接下來的主題會提供更詳細的範例,說明如何使用 Domino Designer 來源控制啟用功能,來完成某些剛才提到的一般來源控制作業。

將現有的 Domino Designer 應用程式新增至來源控制

本主題說明如何將現有的 Domino Designer 應用程式新增至來源控制

關於這項作業

讓我們假定您已啟動新的應用程式,而且已開始在本端機器上使用它。然後,您發現需要將應用程式的部分工作委派給工作同伴。為了這樣做,您決定將現有的應用程式移入來源控制系統中。

此作業是利用 Domino Designer 來源控制啟用功能來完成,方法為使現有的 NSF 應用程式與新的磁碟內存專案建立關聯。 如需此作法的步驟,請參閱使 NSF 與新的磁碟內存專案建立關聯主題。

從來源控制帶來應用程式

本主題說明如何將應用程式從來源控制帶進來。

關於這項作業

讓我們假定您需要在正在建置的新應用程式上協助工作同伴。原始開發人員已將應用程式移入來源控制中,但是現在您需要將應用程式帶進來以開始自行使用它。

請使用下列一般步驟來執行此動作:
  • 在 Eclipse 導覽器視圖中,使用來源控制系統的指令,將應用程式複製到本端機器。
  • 使磁碟內存專案與新的 NSF 建立關聯

  • 使磁碟內存專案與現有的 NSF 建立關聯

如需完成這些作業的相關資訊,請參閱本節中的其他主題。

使磁碟內存專案與新的 NSF 建立關聯

本主題說明如何使磁碟內存專案與新的 NSF 建立關聯。

關於這項作業

讓我們假定您需要在正在建置的新應用程式上協助工作同伴。原始開發人員已將應用程式移入來源控制中,但是現在您需要存取應用程式,開始自行使用它。

此作法就是使磁碟內存專案與新的 NSF 建立關聯。 請使用下列步驟來執行此動作:

程序
  1. 若要使磁碟內存專案與新的 NSF 建立關聯,請用滑鼠右鍵按一下新建立的磁碟內存專案,然後選取團隊開發 - 與新的 NSF 建立關聯...。這會啟動與新的 NSF 建立關聯... 對話框,要求您提供應用程式的名稱,以及您要建立應用程式的位置。
  2. 如果位置是「本端」伺服器,請使用瀏覽按鈕,來開啟「本端」檔案系統目錄。
  3. 如果位置是遠端伺服器,則瀏覽按鈕會與對話框一起出現,列出可以選取的資料夾。
  4. 依預設,NSF 與磁碟內存專案將自動保持同步。
結果

使磁碟內存專案與現有的 NSF 建立關聯

本主題說明如何使磁碟內存專案與現有的 NSF 建立關聯。

關於這項作業

讓我們假定您需要在正在建置的新應用程式上協助工作同伴。原始開發人員已將應用程式移入來源控制中,但是現在您需要存取應用程式,開始自行使用它。

此作法就是使磁碟內存專案與現有的 NSF 建立關聯。 請使用下列步驟來執行此動作:

程序
  1. 若要使磁碟內存專案與現有的 NSF 建立關聯,請用滑鼠右鍵按一下新建立的磁碟內存專案,然後選取團隊開發 - 與現有的 NSF 建立關聯...。這會啟動與現有的 NSF 建立關聯... 對話框。
  2. 選取要與您的磁碟內存專案建立關聯的現有 NSF,以及起始同步作業的方向。
結果

使現有的 NSF 與磁碟內存專案建立關聯的範例

本主題提供一個使現有的 NSF 與磁碟內存專案建立關聯的範例。

讓我們假定您正在查看同事透過電子郵件傳送給您的早期應用程式副本。此應用程式從當時便公佈在來源控制中,而您現在則被要求協助處理它。在此情況下,您需要取得「真正」版本,來取代透過電子郵件傳送給您的版本。

此程序與使磁碟內存專案與現有的 NSF 建立關聯主題相同,除了 關聯動作是從 NSF 採取,而且選擇為磁碟內存專案。 與 NSF 建立關聯的磁碟內存專案將是用於來源控制作業的專案。如需此作法的步驟,請參閱使 NSF 與現有的磁碟內存專案建立關聯主題。

處理檔案同步衝突

本主題說明如何利用來源控制功能來處理檔案同步衝突。

關於這項作業

在來源控制中使用檔案時,您可能會收到檔案同步衝突錯誤。如果發生此情況,則會顯示同步衝突對話框訊息蹦現畫面,並附有一個清單框,其中包含發生衝突的檔案。您可以選取一個以上的檔案,並比較檔案的各種版本。在決定了哪一個是正確的版本之後,您可以選取要使用的版本。

「同步衝突」對話框會呈現一個具有 3 欄的視圖:檔名、前次修改 (NSF) 日期, 以及前次修改(磁碟內存)日期。比較按鈕可讓您啟動一個對話框,讓您並列看到 NSF 的 DXL 版本, 以及元素的磁碟內存版本,同時強調顯示差異。

在您有 2 個檔案發生衝突的範例中, 會使用下列步驟。在此情況下,NSF 與磁碟內存專案之間已發生同步衝突, 而且 2 個檔案會列示在「同步衝突」畫面上。

程序
  1. 如果想要的話,請選取一個檔案,然後按一下比較按鈕。 此動作會啟動「比較」對話框,其中顯示每一個檔案的內容,並強調顯示差異。
  2. 決定您要使用的檔案版本,並按使用 NSF 版本按鈕或使用磁碟內存專案版本按鈕。使用 NSF 版本選項會改寫「磁碟內存」版本,而使用磁碟內存專案版本選項則會改寫 NSF 版本。 您可以獨立執行其中一個作業。
  3. 如果您按一下關閉按鈕,但沒有指定任何檔案,則下次同步衝突觸發時,那些檔案將再次顯示在清單中。
結果

手動同步 NSF 及本端來源控制專案

本主題說明如何手動同步 NSF 及本端來源控制專案。

關於這項作業

可能有時候您想要手動同步 NSF 及本端來源控制磁碟內存專案。比方說,如果有問題,或如果已在喜好設定畫面中關閉自動同步,則您可能想要執行手動同步。

作法為從快速功能表或主功能表中,選取團隊開發-與磁碟內存專案同步

移除來源控制中的關聯

本主題說明如何移除來源控制中的 NSF/專案關聯。

關於這項作業

可能有時候您想要移除已在 NSF 與本端來源控制磁碟內存專案之間建立的關聯。

作法為從快速功能表或主功能表中選取團隊開發-移除來源控制關聯

設計 XPage 應用程式

IBM Domino Designer 可提供方法來移入具有控制項及其他構件的 XPage,而且可以使 XPage 與資料儲存庫產生關聯。

如需一般導覽(例如建立及開啟 XPage),請參閱在 Domino Designer 中導覽

Designer 提供下列選項來使用 XPage:

  • 按一下設計標籤,以在視覺化模式中使用。
  • 按一下來源標籤,以直接編輯 XML。

本文件與下列產品相關:IBM Domino、IBM Domino Designer、IBM Notes、IBM iNotes 及 IBM Notes Traveler。

預覽及執行 XPage

XPage 可在 Domino 伺服器及 Notes 用戶端環境中執行。 若使用 Domino Designer,您可以在這兩種環境中預覽 XPage。

存取存在於 Domino 伺服器應用程式中的 XPage 的方式如下:
  • 從瀏覽器中,透過表單的 URL http://server/application.nsf/xpage.xsp
  • 從 Notes 用戶端,透過表單的 URL notes://server/application.nsf/xpage.xsp

存在於 Notes 用戶端應用伺服器中的 XPage 可以透過該用戶端及透過表單的 URL 來進行存取 notes:///application.nsf/xpage.xsp?OpenXPage

此外,您可以設定應用程式,在啟動時開啟 XPage。

預覽 XPage

您可以在 Domino 伺服器或 Notes 用戶端環境中預覽 XPage。

開始之前

若要進行 Web 預覽,您必須先調整應用程式的存取控制清單 (ACL)。在導覽器中,對應用程式按一下滑鼠右鍵,然後選取 應用程式 > 存取控制。新增 Anonymous 的項目,並設定適當的存取層次 (至少 Author 必須具有建立文件的能力)。
註: 此外,請確定 HTTP 作業正在 Domino 伺服器上執行,這樣才能順利執行 Web 預覽。

程序

  1. 在 XPage 上按一下滑鼠右鍵,然後選取在 Notes 中預覽在 Web 瀏覽器中預覽 或者,您可以將焦點放在 XPage,在功能表上按一下設計 > 在 Notes 中預覽,或設計 > 在 Web 瀏覽器中預覽

    或者,您可以將焦點放在 XPage,在工具列上按一下 在 Notes 中預覽在 Web 瀏覽器中預覽

  2. 若為在 Web 瀏覽器中預覽,請選取瀏覽器類型。

結果

Notes 預覽會啟動 Notes 用戶端,若必要的話,還會在用戶端中開啟 XPage。   用戶端會處理來自 XPage 的要求。

Web 預覽會啟動 Domino 本端預覽伺服器,然後在瀏覽器中開啟 XPage。本端預覽伺服器會處理來自 XPage 的要求。

在 Web 上預覽 XPage 可能會與在完整應用程式的環境定義中執行 XPage 不同。 結果可能也視您是預覽本端或遠端應用程式而定。 預覽本端應用程式一律會使用 Anonymous 的存取控制,而本端預覽伺服器會缺少正式作業伺服器的某些進階函數。 然而,執行 Script 並建立文件、使用 Anonymous 簽署以進行本端預覽,以及使用現行 ID 在伺服器上進行預覽,可讓您查看應用程式的真實外觀。

在應用程式啟動時開啟 XPage

您可以在應用程式啟動時開啟 XPage。

程序

  1. 從「應用程式導覽器」中按兩下或開啟應用程式內容 即會開啟應用程式的內容頁面。
  2. 按一下啟動標籤。
  3. 若為 Notes 用戶端,請選取開啟指定的 XPage(標準用戶端),並選取 XPage。
  4. 若為 Web 瀏覽器,請選取開啟指定的 XPage,並選取 XPage。 另外,如果您想要開啟與 Notes 相同的 XPage,請選取 使用 Notes 啟動選項
  5. 儲存應用程式內容。

結果

使用者啟動應用程式時,XPage 會立即開啟。

Web 瀏覽器使用者可以套用 XPage URL 來啟動 XPage,例如,http://server/application.nsf/xpage.xsp

開啟另一個 XPage

使用者可以從 XPage 透過導覽規則、簡式動作、XSPContext 方法及開啟 URL,來開啟其他 XPage。

導覽規則

每一個 XPage 都有 navigationRules 內容,該內容是一組 navigationRule元素。處理透過「提交」或「取消」類型的按鈕提交的頁面之後,導覽規則會告知伺服器要將哪些頁面傳回到用戶端。 請參閱 button - 按鈕。每一個導覽規則都具有下列屬性:
屬性
結果 xsp-success(如果更新正常)
  xsp-failure(如果更新失敗)
重新導向 true 表示還原為該頁面的前次狀態
  false(預設值)表示開啟空白頁面
viewId <no rule> 表示開啟相同的頁面
  $$PreviousPage 表示開啟上次開啟的頁面(提交頁面之前)
  $$HomePage 表示開啟啟動頁面
  page.xsp 表示開啟指定頁面
範例如下:
<xp:this.navigationRules>
	<xp:navigationRule
		outcome="xsp-success" viewId="$$PreviousPage">
	</xp:navigationRule>
	<xp:navigationRule
		outcome="xsp-failure" viewId="/errpage.xsp">
	</xp:navigationRule>
</xp:this.navigationRules>

在「設計」模式中,在所有控制項之外按一下、 按一下 XPage 標籤,然後尋找下一頁選項。

簡式動作 openPage

Open Page 簡式動作會在啟動時立即開啟頁面。範例如下:
<xp:button value="Open page 2" id="button4">
	<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
	<xp:this.action>
			<xp:openPage name="/xpage2.xsp"></xp:openPage>
							</xp:this.action>
						</xp:eventHandler>
</xp:button>

重新導向的 XSPContext 方法

redirectToPageredirectToPreviousredirectToHome 方法會在啟動時立即開啟頁面。 範例如下:
<xp:button value="Open page 2" id="button4">
	<xp:eventHandler event="onclick" submit="true"
		refreshMode="complete">
	<xp:this.action>
			<![CDATA[#{javascript:context.redirectToPage("xpage2.xsp")}]]>
							</xp:this.action>
						</xp:eventHandler>
</xp:button>

開啟 URL

您可以將頁面的 URL 傳送至伺服器來開啟頁面。 例如,您可以在瀏覽器的位址視窗中指定下列 URL:
http://myserver/foo.nsf/xpage1.xsp

若來自 XPage 設計元素,您可以使用公式中的 @URLOpen。 下列公式是用來執行表單動作,並 在 Notes 用戶端本端開啟 XPage:

@URLOpen("notes:///foo.nsf/xpage1.xsp?OpenXpage")

開啟 XPage 而非視圖

僅針對 Web 存取,您才可以開啟 XPage 而非視圖。

程序

  1. 從「應用程式導覽器」中,按兩下或以其他方式開啟視圖。
  2. 開啟視圖內容並按一下進階標籤。
  3. 若為 Web 存取 > 改為顯示 XPage,請選取 XPage。
  4. 儲存視圖。

結果

當使用者選取視圖時,XPage 即會開啟。

簽署 XPage

XPage 會在儲存 XPage 設計元素及(或)產生其實作(即類別)檔案時,以現行 Domino Designer 使用者的 ID 簽署。

關於這項作業

簽署 XPage 可決定該 XPage 是否會在執行時期載入,以及它之後是否能在有限制其方法與作業的情況下執行。若 限制,會排除檔案或網路 I/O 這類較常用的特定功能。執行時若沒有 限制,則可使用 XPage 實作語言的所有支援功能(請參閱 "Restricted LotusScript and Java agent operations" 主題,此主題的位置如下:Domino Designer Basic User Guide and Reference > Application Design > Adding automation to applications)。

伺服器存取權 相同,執行受限/無受限方法的權限也是在伺服器文件「安全」標籤的「程式設計限制」區段中指派給特定的簽章者或群組(請參閱「控制伺服器上執行的代理程式與 XPage」主題,此主題的位置如下:Domino 管理者說明 > 安全 > Notes 使用者、網際網路使用者及 Domino 伺服器的伺服器存取權 > 自訂 Domino 伺服器的存取權)。

呼叫 XPage 時(針對代理程式),Domino 不但會檢查已鑑別之 Web 使用者的存取權,還會在伺服器文件中檢查 XPage 簽名者的伺服器安全性權限。針對 XPage 的元件(例如,所包含的 XPage、自訂控制項、JSF 延伸項目或伺服器 JavaScript 程式庫),Domino 會檢查每個元件簽名者的伺服器存取權,若已指定,則會將 XPage 階段作業降級為只能在 受限的條件下執行(為 Domino 設定時,NoExternalApps notes.ini 變數會有相同的效果)。在執行時期,若簽章是由對於簽署 XPage 作業完全沒有任何伺服器存取權的 DDE 使用者來簽署,將會產生 HTTP 403 錯誤傳回到瀏覽器。

在 Notes 用戶端中使用 XPage

您可以在 IBM Notes Rich Client 中執行 XPage 應用程式。

Notes 用戶端中 XPage 支援的主要優點是,您可以在本端抄寫針對 Web 開發的應用程式,並在 Notes 用戶端中以離線方式執行它,而不需要針對用戶端重新進行開發。之後,XPage 應用程式開發模型的所有優點就可以延伸應用至 Notes 用戶端。這些應用程式會顯示於內嵌的瀏覽器中,其絕大部分的外觀及行為都與 Web 應用程式類似,但是它們在 Notes 用戶端中的行為在某些部分會有所不同。

  • 可能會建立 Notes 用戶端特定的邏輯,進而影響應用程式在 Notes 中的呈現方式。例如,在「討論」應用程式中,Web 呈現方式會在頁面的角落中包括「歡迎使用使用者名稱」訊息,且後面接著「我的設定檔」鏈結。歡迎使用訊息不會出現在 Notes 用戶端中;「討論」應用程式中的邏輯會移除該訊息。您也可以修改應用程式的 XPage 內容,以指定應用程式在 Notes 用戶端或瀏覽器中執行時要使用的不同佈景主題。
  • 在 Notes 用戶端中執行之應用程式的使用者可以使用檔案 > 儲存,以保留對 XPage 的修改。enableModifiedFlag 內容可讓您啟用此功能表選項,並在 XPage 變更時提示使用者儲存變更。
  • 在 Notes 用戶端中鑑別使用者之後,會使用相同的認證來存取任何 XPage 應用程式或元件。因此,系統不會以 Web 登入對話框提示使用者,而這是在內嵌瀏覽器中執行的傳統 Web 應用程式會顯示的對話框。
  • 為了防止 XPage 設計元素(作用中內容)中的程式碼執行受保護作業(例如,讀取及寫入工作站檔案,或是讀取及寫入系統內容),XPage 會使用「執行控制清單 (ECL)」來管理使用者已授與程式碼簽章者(會嘗試執行受保護作業)的存取權及功能。
  • 在 Notes 用戶端中,可以在頁面加上書籤。

除了可以將 XPage 建置為獨立式應用程式之外,還可以在 Domino Designer 中,建置於複合應用程式內執行並支援接收/發佈事件模型的 XPage 元件,以及元件參數。之後,XPage 元件就可以與用戶端中的其他元件(例如,PIM 元件)互動。

另請注意,XPage 應用程式可以位於 Domino 伺服器上。如果您將「在 Notes 用戶端中開啟時」啟動選項設為「開啟指定的 XPage(標準用戶端)」,則不論應用程式位於 Domino 伺服器上還是位在 Notes 用戶端本端上,都將會在用戶端上呈現對應的 XPage。XPage 在用戶端中的行為則完全相同。

使用 XPage 工具列

Notes 用戶端中的 XPage 應用程式具有其專屬的工具列,只要 XPage 在內嵌瀏覽器中取得作業焦點,就可以看到該工具列。

關於這項作業
工具列包括不同的按鈕群組。
  • 導覽按鈕可讓您在頁面之間往前及往後移動、停止現行動作、重新整理現行頁面,以及回到原始頁面。重新整理按鈕也提供清除專用資料選項。執行此動作會清除內嵌的瀏覽器快取。
  • 「列印」按鈕可讓您設定 XPage 以進行列印,以及列印它們。
  • 如果已安裝 Domino Designer,則可以按一下檢視頁面來源按鈕以查看 HTML 原始檔,或按一下檢視瀏覽器配置按鈕以查看內嵌的瀏覽器設定。

XPage 安全

提供 XPage 應用程式的安全。

在 IBM Notes 用戶端上執行的 XPage 應用程式可以包括一些內含程式碼的設計元素(通常稱為「作用中內容」),而這些程式碼可以在使用者的工作站上執行(例如,使用內嵌的 Java 程式碼來存取資料庫或 JavaScript)。為了防止作用中內容執行受保護作業(例如,讀取及寫入工作站檔案、讀取及寫入系統內容)及網路作業,XPage 會使用「執行控制清單 (ECL)」來管理使用者已授與程式碼簽章者(會嘗試執行受保護作業)的存取權及功能。

ECL 可決定是否容許程式碼的簽章者在給定工作站上執行程式碼,以及定義程式碼對各種工作站功能所具有的存取權(例如,對現行資料庫或其他資料庫的存取權)。XPage 應用程式內的作用中內容範例包括內嵌於 JavaScript 中的 Java 程式碼(伺服器端)、伺服器端 Script 程式庫,以及匯入至資料庫的 Java 類別及 JAR。

XPage 應用程式中的所有設計元素都有其建立者的簽章。請注意,如果 XPage 應用程式有多個簽章者,則使用者必須先信任所有簽章者,才能執行受保護作業。

XPage 應用程式的 ECL 安全存取選項是設定於使用者安全性對話框的其他人員的作法下的使用工作站標籤(檔案 > 安全 > 使用者安全)。

使用作用中內容過濾的安全

「作用中內容過濾 (ACF)」安全特性也會防止惡意程式碼在執行期間輸入 XPage 輸入控制項。

作用中內容過濾是用來移除輸入/輸出文字控制項中可能的惡意作用中內容(Script、標籤)。ACF 引擎會作為程式庫,以在執行時期執行過濾。如果您將焦點放在特定 XPage 控制項(編輯框、多行編輯框、Rich Text、隱藏輸入)上,則會在基本下的所有內容標籤中,見到兩個內容 htmlFilter htmlFilterIn

htmlFilter 內容定義控制項將資料傳送給用戶端時要使用的 ACF 引擎,而 htmlFilterIn 內容則定義控制項接收來自用戶端的文字時要使用的引擎。您可以變更這兩個內容,以啟用或停用文字欄位的 ACF。

XPage 有四個可用的 ACF 引擎:
  • acf
  • striptags
  • identity
  • empty

"acf" 引擎會剖析 HTML 文字,並根據配置檔 (acf-config.xml) 過濾掉不安全的建構。"striptags" 引擎會使用正規表示式 'replaceAll("\\<.*?>","")' 移除所有標籤。"identity" 過濾器會傳回原始字串。"empty" 引擎會移除所有項目,並傳回空字串。

您可以透過配置檔配置 "acf" 引擎。若是在用戶端上,此檔案一般是位於 C:\Program Files\IBM\Lotus\Notes\Data\properties。範例如下,acf-config.xml.sample 即位於此資料夾中。

若要配置 ACF,則您必須先尋找相同資料夾中的 xsp.properties 檔案,並新增下行:xsp.htmlfilter.acf.config=acf-config.xml。這指出將使用 acf-config.xml 來配置 "acf" 引擎(否則,會使用預設規則)。下列是 acf-config.xml 檔案內容的範例:
<?xml version="1.0"?>
<config>
       <filter-chain>
          <filter name='base' class='com.ibm.trl.acf.impl.html.basefilter.BaseFilter'
                  verbose-output='false' use-annotation='false' />
       </filter-chain>

			<filter-rule id='base'>
           <target scope=''>
             <!-- C14N rules -->
             <rule c14n='true' all='true' />

              <!-- Base rules -->
             <rule attribute='on' attribute-criterion='starts-with'
                 action='remove-attribute-value' />
             <rule attribute='${' attribute-criterion='starts-with'
                 action='remove-attribute-value' />
             <rule attribute='href' value='javascript:' value-criterion='contains'
                  action='remove-attribute-value' />
             <rule attribute='style' action='remove-attribute-value' />

              <rule tag='script' action='remove-tag' />
              <rule tag='style' action='remove-tag' />
              <rule tag='link' attribute='rel' value='stylesheet'
                   value-criterion='contains' action='remove-tag' />
            </target>
        </filter-rule>
</config>
在前一個範例中:
  • <rule attribute='on' attribute-criterion='starts-with' action='remove-attribute-value' /> 會移除以 "on" 開頭的屬性。
  • <rule attribute='href' value='javascript:' value-criterion='contains' action='remove-attribute-value' /> 移除值包含 'javascript:' 關鍵字的所有 'href' 屬性。
  • <rule tag='style' action='remove-tag' /> 會移除所有 "Script" 標籤。
  • <rule tag='link' attribute='rel' value='stylesheet' value-criterion='contains' action='remove-tag' /> 會移除 "rel" 屬性值符合 "stylesheet" 的 "link" 標籤。

如需「執行控制清單」的相關資訊,請參閱「Domino 管理者」說明。

提示使用者將變更儲存至 XPage

您可以控制當使用者要求的動作是關閉欄位已修改的頁面時,XPage 應用程式應如何提示使用者。

關於這項作業
XPage 或自訂控制項包含可編輯的控制項時,您可以設定兩個內容,以指定應用程式在控制項變更時提示使用者的方式。這些內容存在於兩個層次中:XPage 或自訂控制項層次,以及核心控制項層次。
  • 層次 1:XPage 或自訂控制項
    • enableModifiedFlag(布林 - 預設隱含值是 false) – 指定是否提示使用者儲存 XPage 或自訂控制項中的核心控制項變更,以及已在 Notes 用戶端中修改 XPage 或控制項時,是否啟用 Notes 用戶端 檔案 > 儲存選項。 在外部瀏覽器中執行的應用程式無法使用 Notes 檔案 > 儲存機制,因此只會向使用者顯示提示對話框。
    • modifiedMessage(字串)– 要顯示在提示對話框中的自訂訊息
  • 層次 2:核心控制項
    • disableModifiedFlag(布林 - 預設隱含值是 true) – 指定是否提示使用者儲存核心控制項的變更
在啟用或停用給定「XPage 或自訂控制項」的修改通知時,enableModifiedFlag 內容具有較高的絕對優先順序。如果您將此內容值設為 true,則除非您將「核心控制項」disableModifiedFlag 內容值明確設為 true,否則會在「XPage 或自訂控制項」內的所有已支援「核心控制項」變更時通知使用者。如果您未設定「XPage 或自訂控制項」的 enableModifiedFlag,或將值明確設為 false,而且將一個以上「核心控制項」disableModifiedFlag 內容值設為 false,則變更時不會通知使用者,原因是 enableModifiedFlag 內容具有較高的優先順序。
下列「核心控制項」支援此特性:
  • 編輯框
  • 多行編輯框
  • 清單框
  • 組合框
  • 勾選框
  • 圓鈕
  • 檔案上傳
  • 日期時間選取器
  • Rich Text 編輯器

如果使用者選擇不要儲存現行頁面的修改,則可以執行所要求的動作(例如,關閉頁面,或在瀏覽器中離開該頁面)。如果使用者選擇儲存修改,則會先驗證相關的欄位,再儲存頁面。會先在用戶端上進行驗證,然後再於伺服器上進行驗證。只有在現行頁面欄位的用戶端驗證順利完成時,才會進行伺服器端驗證。如果伺服器端驗證失敗,則會向使用者呈現內含不當欄位的現行頁面,並讓使用者有機會更正欄位內容。伺服器端驗證順利完成之後,就可以執行所要求的動作。

在 Domino HTTP 伺服器上的 Notes 中執行 XPage

為了取得較好的效能,在 Notes 用戶端上執行的伺服器型 XPage 應用程式可以改為在 Domino HTTP 伺服器上執行。

依預設,在 Notes 用戶端上執行的伺服器型 Xpage 應用程式,會透過在使用 Notes 通訊協定的伺服器與用戶端之間進行的一系列資料傳送,在該用戶端上執行。您可以改為指定在使用 HTTP 通訊協定的 Domino 伺服器上執行這類應用程式。

Notes 功能的運作方式,與以原生 XPage 模式執行時的運作方式相同。例如,快速功能表(例如,檔案 > 儲存檔案 > 抄寫檔案 > 開啟)、「變動」文件儲存、用戶端 JavaScript 等項目的行為相同。其中一個例外狀況如下:當複合應用程式在伺服器上執行時,無法使用用戶端內容分配管理系統功能。

Designer 需求
應用程式內容啟動標籤上,當開啟指定的 XPage(標準用戶端)生效時,勾選直接在 Domino 伺服器上執行伺服器型 Xpage 應用程式,然後儲存該應用程式。您可以透過應用程式的內容方框,在 Notes 中套用此內容。
或者,您也可以在 Notes notes.ini 檔案中插入下行並重新啟動 Notes,以啟用所有應用程式的伺服器執行功能:
XPagesRunRemoteAppsOnServer=1
Notes 執行時期需求
對於包含 Xpage 應用程式的伺服器,Notes 用戶端應該包含 HTTP 帳戶。若要建立或檢視 Notes 帳戶,請按一下檔案 > 喜好設定 > 帳戶。如需文件,請參閱 Notes 說明中的「從 Notes 喜好設定建立及編輯帳戶」。

您可以在 Domino 伺服器上設定帳戶,並將它供應給 Notes 用戶端。

在 Notes 用戶端上啟動伺服器型 Xpage 應用程式時,XPage 處理器會針對包含應用程式的伺服器尋找 HTTP 帳戶,並載入該應用程式。

Notes 帳戶架構及基礎 XULRunner 瀏覽器會將使用者認證自動傳遞至 Web 伺服器,以進行鑑別。如果系統提示使用者輸入名稱及密碼,表示未正確地設定 Notes 配置,例如,SSO 錯誤。您可以在 Notes 工具列的 Notes 瀏覽器位址小組件中輸入應用程式的 URL,用以單獨驗證此項。

如果沒有任何相符的 HTTP 帳戶,則除非允許匿名存取,否則會盤查使用者以進行認證。不過,可以使用下列 notes.ini 變數,使存在 HTTP 帳戶變成必要項目:
XPagesRunOnServerRequireAccount=1
如果需要相符的帳戶但卻找不到,或是帳戶資訊無效,則系統會提示使用者關閉應用程式視窗,或回復為使用本端 Notes Web 儲存器來執行應用程式。
下列 notes.ini 變數會停用在伺服器上的 Notes 中執行 Xpage 的功能:
XPagesRunOnServerDisable=1
效能背景
在 Notes 用戶端上執行,但位於遠端 Domino 伺服器的 XPage 應用程式,將面臨嚴苛的效能挑戰。主要原因是:在 Notes 用戶端上執行 Xpage 應用程式時,必須執行許多網路交易。請務必瞭解 XPage Notes 應用程式是在本端 Notes XPD Web 儲存器中執行,因此必須在網路中,將所有 XPage Java 類別(XPage 及自訂控制項)從遠端伺服器複製到要執行的 Notes 用戶端。同樣地,必須從遠端伺服器中提取所有頁面資源(CSS、JavaScript、GIF 等等),以及實際資料。此外,如果 XPage 應用程式會利用其他 Notes 設計構件(例如,使用 computeWithForm 功能),則也必須從遠端提取任意大型設計元素(像是表單、子表單及共用欄位)。在高度延遲的網路中,這可能會造成重大效能影響,尤其是當您的應用程式主要是針對 Web 所設計,而未針對 Notes 用戶端進行最佳化時。

翻譯 XPage 應用程式

翻譯 XPage 及「自訂控制項」時,請不要為每種語言都建立一份新的副本,因為 XPage 翻譯機制與非 XPage IBM Notes 設計元素的機制不同。

關於這項作業
在 XPage 翻譯機制中,可透過自動處理程序,將可翻譯文字從 XPage 取出至不同的檔案。然後,您可以使用其他語言提供該檔案的翻譯。XPage 會根據 Web 瀏覽器或 Notes 用戶端的語言,來決定要使用哪個已翻譯的檔案。

如需 XPage 翻譯指示,請參閱 Domino Designer Wiki 中的 "XPages: How to use the localization options"。

設計單一副本 XPage

您可以在某資料庫中儲存 XPage 設計元素,然後在執行時期將其他資料庫重新導向至該資料庫。

關於這項作業

單一副本 XPage 可以使用一個位置來進行物件儲存及瀏覽器存取,以加強效能。 受影響的設計元素包括 XPage、自訂控制項、JavaScript 程式庫、樣式表及佈景主題。 若要在執行時期將資料庫導向使用其 XPage 元素的儲存庫,請執行下列動作:

程序

  1. 在左窗格中,選取應用程式內容
  2. 在中間窗格的頂端,選取 XPage 標籤。
  3. 捲動至效能
  4. 勾選單一副本 XPage 設計
  5. 指定含有 XPage 設計元素的 NSF 名稱。 必須為與 Notes 資料目錄相關的相關名稱。

結果

含有設計元素的應用程式必須是 NSF 檔案。

所有 XPage 設計元素必須位於儲存庫中,或是全部不在儲存庫中。 您無法個別置換或選取設計元素。

您無法動態地變更單一副本設定。

共用元素受限於剛才列舉的 XPage 元素。例如,無法共用表單及視圖。

新增控制項

控制項是指可讓使用者在 XPage 上操作資料的視覺化元素,例如編輯框、按鈕、影像及文字。

控制項有下列類型:核心、儲存器及其他。

標籤名稱會識別 XML 中的每個控制項。通用名稱則出現在使用者介面上。 例如,編輯框的標籤名稱是 inputText,而通用名稱是「編輯框」。接下來的參考主題以標籤名稱和通用名稱來識別控制項。

控制項選用區及建立功能表依預設會列出大部分核心及儲存器控制項。 選取其他可以存取所有控制項。 您可以在檔案 > 喜好設定 > Domino Designer > 選用區調整控制項顯示。

操作控制項及文字

您可以使用設計原始碼編輯器,將控制項及文字新增至 XPage。 控制項選用區提供控制項的來源。

控制項選用區會出現在編輯器旁邊的視窗中。如果未出現,請按一下視窗 > 顯示 Eclipse 視圖 > 控制項

您可以將控制項從選用區拖曳至編輯器(設計來源)。 您也可以將游標放在編輯器中,然後按兩下選用區上的控制項。您也可以使用功能表中的建立 > 核心控制項建立 > 儲存器控制項

您可以使用一般方式來移動、調整大小、剪下、複製、貼上及刪除控制項。

您可以在 XPage 中新增文字及換行。

將游標定位在設計編輯器的控制項上,讓它的內容變為可用。將游標定位至所有控制項外部,則讓 XPage 內容可用。

您也可以從大綱視圖中執行部分 XPage 操作。

設定內容

內容可定義 XPage 及控制項。

內容會在編輯器底下顯示於視窗中。顯示的內容可用於編輯器中取得作業焦點的控制項,或者可用於 XPage(若作業焦點在所有的控制項之外)。

選取內容標籤底下的所有內容,針對控制項或 XPage 來存取所有內容的分類清單。 在這裡內容是由其標準的標籤名稱來識別。在內容事件標籤底下選取其他的項目,以存取具有設計使用者介面的內容子集。在這裡內容是以敘述性的名稱來存取。

將值指派給內容,如下所示:
  • 從清單中選取靜態值,或者鍵入靜態值。
  • 以傳回值的 Script 指定動態值。 內容旁的菱形圖示可開啟 Script 編輯器。
  • 以伺服器端及用戶端 Script 與簡式動作指定事件。最好在事件標籤上指定 Script 與簡式動作。
在 XML 原始碼中,內容會以控制項元素的屬性及內容顯示。 例如,以下是一個 inputText(編輯框)控制項,含 idvalue 內容,以屬性定義:
<xp:inputText id="inputText1" value="#{document1.subject}"></xp:inputText>
在這裡 value 內容是以控制項定義的內容來定義的:
<xp:inputText id="inputText1">
	<xp:this.value>
		<![CDATA[#{javascript:return document1.getItemValueString("subject")}]]>
	</xp:this.value>
</xp:inputText>
動態內容的計算方式如下。使用編輯視窗圓鈕來選取下列其中一項。
  • 動態計算會在 XPage 每次重新整理時重新計算公式。這些公式在原始碼中顯示時會以 # 符號開頭,例如:#{javascript:var dc = database.getAllDocuments(); "Count = " + dc.getDocumentCount();}
  • 在頁面載入時計算會在第一次載入 XPage 時計算公式一次。這些公式在原始碼中顯示時會以錢幣符號開頭,例如:${javascript:var dc = database.getAllDocuments(); "Count = " + dc.getDocumentCount();}

瞭解事件

事件是使用者可以執行的動作(例如,按一下按鈕,或移除編輯框中的焦點)。事件處理程式是您(設計者)為了回應事件而執行的動作。

事件處理程式是控制項或 XPage 的一部分。

事件處理程式可以是 Script、簡式動作,或是簡式動作群組。 對於一個事件,可以指定處理程式在用戶端或伺服器上執行,或者是兩處都執行。 用戶端處理程式可以傳回 false,來停止進一步的用戶端處理程式執行,並取消伺服器處理程式的執行。

若您是在「設計」模式中工作,請將焦點放在適當的控制項或頁面上,按一下事件標籤,然後選取想要的事件。 便可以指定事件處理程式。

事件會當作內容來處理,並出現在內容底下的所有內容。 不過,最好的作法是不要從所有內容建立或修改事件。請使用事件標籤或來源 XML。

伺服器事件處理程式

伺服器事件處理程式的一般格式在「來源」中模式如下所示。 若您是在「設計」模式中工作,請選取事件標籤,然後選取伺服器標籤。
<xp:eventHandler event="name" submit="true|false"
	refreshMode="complete|partial|norefresh" refreshId="id"
	immediate="true|false"	execMode="partial|full">
	<xp:this.action>
		<![CDATA[#{javascript:textOfScript}]]> <!-- script -->
		<xp:actionName arguments</xp:actionName> <!-- 或簡式動作 -->
		<xp:actionGroup condition="#{javascript:textOfScript}"> <!-- 或簡式動作群組 -->
			動作及內嵌的群組
		</xp:actionGroup>
	</xp:this.action>
	<xp:this.parameters>
		<xp:this.parameter name="name" value"value"</xp:this.parameter> ...
	</xp:this.parameters>
</xp:eventHandler>
其中:
  • event 指定事件的名稱,例如 onbluronclick。 如果您使用事件標籤,請選取適當的事件。
  • submit="true" 會導致在使用者啟動事件時,傳送要求到伺服器。submit 的任何其他值都會停用該事件。 如果您使用事件標籤,按一下不提交可移除事件。
  • refreshMode 是下列其中一項:
    • complete 會在伺服器處理要求之後,將整個頁面重新載入到用戶端。 如果您使用事件標籤,請按一下完整更新
    • partial 會使用 Asynchronous JavaScript and XML (AJAX) 技術,重新載入頁面的選取部分。如果您使用事件標籤,請按一下局部更新
    • norefresh 不會重新載入頁面。如果您使用事件標籤,請按一下不更新
  • refreshId 只適用於 refreshMode="partial",且會指定要更新的控制項。 如果您使用事件標籤,請按一下選取元素
  • immediate="true" 會暫停伺服器上的資料驗證。 對於資料處理,請省略這個屬性或是指定 true 以外的任何值。如果您使用事件標籤,請按一下不要驗證或更新資料
  • execMode="partial" 指定在執行程式碼片段時,進行局部重新整理。 若為完整重新整理,請省略這個屬性或是指定 partial 以外的任何值。如果您使用事件標籤,請按一下設定局部執行模式
  • action 指定下列任一項:
    • Script,其中 textOfScript 是您的程式碼。如果您使用事件標籤,請按一下 Script 編輯器。 在 Script 視窗中輸入 Script,或是開啟 Script 對話框。
    • 簡式動作的名稱及其引數。如果您使用事件標籤,請按一下簡式動作。 請使用各種按鈕和清單來建立及編輯簡式動作。
    • actionGroup,它可以包含簡式動作及其他動作群組。 這是選用狀況。您可以指定多個群組。
  • parameters 指定任何事件參數的名稱和值。 如果您使用事件標籤,請按一下編輯事件參數

用戶端事件處理程式

事件處理程式(其為用戶端 Script)的一般格式如下所示。 如果您是在「設計」模式中工作,請選取事件標籤,然後選取用戶端標籤。
<xp:eventHandler event="name" submit="false"
	<xp:this.script>
		<![CDATA[[textOfScript]]> <!-- script -->
		<xp:actionName arguments</xp:actionName> <!-- 或簡式動作 -->
		<xp:scriptGroup conditionScript="textOfScript"> <!-- 或簡式動作群組 -->
			動作及內嵌的群組
		</xp:scriptGroup>
	</xp:this.script>
</xp:eventHandler>
其中:
  • event 指定事件的名稱,例如 onbluronclick。 如果您使用事件標籤,請選取適當的事件。
  • submit="false" 表示在使用者啟動事件時,不會傳送任何要求到伺服器。這是用戶端 Script 的必要項目。
  • script 指定下列任一項:
    • Script,其中 textOfScript 是您的程式碼。如果您使用事件標籤,請按一下 Script 編輯器。 在 Script 視窗中輸入 Script,或是開啟 Script 對話框。
    • 簡式動作的名稱及其引數。如果您使用事件標籤,請按一下簡式動作。 請使用各種按鈕和清單來建立及編輯簡式動作。
    • scriptGroup,它可以包含簡式動作及其他動作群組。 這是選用狀況。您可以指定多個群組。

提交及取消事件處理程式

Submit 類型的按鈕會產生事件處理程式,其為下列形式:
<xp:eventHandler event="onclick" submit="true"
	refreshMode="complete" immediate="false" save="true">
</xp:eventHandler>
Cancel 類型的按鈕會產生事件處理程式,其為下列形式:
<xp:eventHandler event="onclick" submit="true"
	refreshMode="complete" immediate="true" save="false">
</xp:eventHandler>
請注意 Submit 按鈕為 save="true"Cancel 按鈕則為 save="false"

結合伺服器端與用戶端事件處理程式

用戶端 JavaScript 程式碼可以觸發伺服器端事件處理程式。 第一個參數必須是事件處理程式的完整路徑,而不只是伺服器端事件處理程式的 ID。 這也可讓您呼叫內嵌在自訂控制項中的事件處理程式。您可以獲得事件處理程式伺服器端的 ID,並將它傳遞給用戶端 Script,如同您對任何其他控制項所進行的一般(例如,使用 # {id:eventhanderId} 或 SSJS 函數 getClientId())。

事件處理程式是在您指定的環境定義內執行。 例如,指定 ID 為 view:_id1:repeatCtrl:0:_id33:eventhandler1 的事件處理程式,將針對 ID 為 repeatCtrl 的 xp:repeat 中的第一個項目執行,而 view:_id1:repeatCtrl:1:_id33:eventhandler1 將針對第二個項目執行。

用戶端事件處理是利用按鈕或其他使用者介面元素來觸發,並將資訊傳遞至伺服器端事件處理要處理的伺服器。 如果您是在「設計」模式中工作,請選取事件標籤,然後選取用戶端標籤。
<button dojoType="dijit.form.Button" type="button"
	onClick="XSP.executeOnServer('# {id:eventhandler1a}', '# {id:panel1}')">
	Click To Trigger Server Event Handler
</button>

<xp:eventHandler event="name" id="eventhandler1a">
	<xp:this.action>
		<xp:saveDocument />
	</xp:this.action>
</xp:eventHandler>
若您是在「設計」模式中工作,請選取事件標籤,然後選取伺服器標籤。
XSP.executeOnServer = function () {
	// the event handler id to be executed is the first argument, and is required
	if (!arguments[0])
		return false;
	var functionName = arguments[0];

	// OPTIONAL - The Client Side ID that is partially refreshed after executing the event handler
	var refreshId = (arguments[1]) ? arguments[1] : "@none";
	var form = (arguments[1]) ? this.findForm(arguments[1]) : dojo.query('form')[0];
       
	// catch all in case dojo element has moved object outside of form...
	if (!form)
		form = dojo.query('form')[0];

	// OPTIONAL - Options object containing onStart, onComplete and onError functions for the call to the
	// handler and subsequent partial refresh
	var options = (arguments[2]) ? arguments[2] : {};

	// OPTIONAL - Value to submit in $$xspsubmitvalue. can be retrieved using context.getSubmittedValue()
	var submitValue = (arguments[3]) ? arguments[3] : '';

	// Set the ID in $$xspsubmitid of the event handler to execute
	dojo.query('[name="$$xspsubmitid"]')[0].value = functionName;
	dojo.query('[name="$$xspsubmitvalue"]')[0].value = submitValue;
	this._partialRefresh("post", form, refreshId, options);
}	

瞭解資料類型

資料類型可在控制項中定義一個放置其他控制項的區域。

根據控制項及資料類型內容,控制項可能會呈現資料類型。

資料類型的特殊使用是在視圖中放置分頁器。資料類型的一般使用是在其他控制項中放置畫面。 以下是視圖的範例原始碼。請注意,facets 區域會顯示為母項控制項的屬性,並包含其他控制項。
<xp:viewPanel rows="30" id="viewPanel1">
	<xp:this.facets>
		<xp:pager partialRefresh="true" layout="Previous Group Next"
			xp:key="headerPager" id="pager1">
		</xp:pager>
	</xp:this.facets>
	<xp:this.data>
		<xp:dominoView var="view2" viewName="main"></xp:dominoView>
	</xp:this.data>
	<xp:viewColumn columnName="subject" id="viewColumn1">
		<xp:viewColumnHeader value="subject" id="viewColumnHeader1"></xp:viewColumnHeader>
	</xp:viewColumn>
	<xp:viewColumn columnName="fruit" id="viewColumn2">
		<xp:viewColumnHeader value="fruit" id="viewColumnHeader2"></xp:viewColumnHeader>
	</xp:viewColumn>
</xp:viewPanel>

xp:key 規格是資料類型構件,而非其他控制項的內容。顯示的值適用於視圖中的分頁器。若為畫面,請使用下列其中一個值,來指定其他控制項在母項中的位置:eastwestsouthnorthsouthwestsoutheastnorthwestnortheast

下列範例程式碼包含一個顯示兩個鏈結(InboxOutbox)的畫面以及一個影像。 第一個鏈結提供 onclick 事件。
<xp:viewPanel>
	<xp:this.facets>
				<xp:panel xp:key="west">
					<xp:link text="Inbox" >
						<xp:eventHandler event="onclick" submit="true">
	<xp:this.action>
							</xp:this.action>
						</xp:eventHandler>
					</xp:link>
					<xp:br/>
					<xp:link  text="Outbox" />
					<xp:br/>
					<xp:image id="viewPickerImage"
						value="/images/sampleViewPicker.gif" />
				</xp:panel>
	</xp:this.facets>
<xp:viewPanel>

在「設計」模式中,看不到資料類型。您必須使用「來源」模式直接建立及修改資料類型。

瞭解 Dojo 小組件

Dojo 小組件已事先包裝 JavaScript程式碼、HTML 及 CSS 宣告,可以加強瀏覽器及 Notes 用戶端的外觀及控制項使用。

Dojo 小組件可以用於下列控制項:「編輯框」、Rich Text、「多行編輯框」、「按鈕」、「勾選框」、「圓鈕」、 「日期時間選取器」、「跨距內容」、「畫面」、「表格」、Div。

在 Domino 8.5.3 中,Dojo 檔案位於 Notes 資料目錄的 domino\js\dojo-1.5.0\dijit 下。 在 Domino 8.5.2 中,它們位於 domino\js\dojo-1.4.1\dijit 下。

應用程式應該透過對映至支援版本的 /.ibmxspres/dojoroot/ 來參照 Dojo 檔案。

如需 Dojo 的相關資訊,請參閱 http://api.dojotoolkit.org

使 Dojo 資源可在 XPage 上使用

將 Dojo 套用至控制項之前,必須備妥 Dojo 資源。

關於這項作業
若要使 Dojo 資源可在 XPage 上使用,請執行下列動作:
程序
  1. 將焦點放在 XPage 本身。
  2. 內容標籤上選取 Dojo
  3. dojoTheme 設為 true。
  4. 內容標籤上選取資源
  5. 針對每一個您要使其成為可用的小組件,執行下列動作:
    1. 按一下新增,並選取Dojo 模組
    2. 指定 Dojo 模組名稱,例如,dijit.form.NumberSpinner
    3. (選用項目)指定條件 - 可評估 true 或 false 的 Script。
    4. 按一下確定

將 Dojo 小組件套用至控制項

XPage 上出現可用的 Dojo 資源時,您可以將它們套用至控制項。

關於這項作業
若要將 Dojo 小組件套用至控制項(例如編輯框),請執行下列動作:
程序
  1. 將焦點放在控制項上。
  2. 內容標籤上選取 Dojo
  3. Dojo type 設為 Dojo 模組資源的名稱,例如,dijit.form.NumberSpinner所有內容底下,這是 dojoType
  4. 若要設定屬性值,請執行下列動作:
    1. 按一下新增圖示。
    2. 指定屬性名稱,例如,dijit.form.NumberSpinnervaluesmallDelta
    3. 指定屬性值,例如,在 dijit.form.NumberSpinner 中對 value 指定 100,對 smallDelta 指定 5。
    所有內容底下,這是 dojoAttributes
結果
如果儲存及預覽套用至「編輯框」控制項的 dijit.form.NumberSpinner,您會在編輯框旁邊見到向上及向下箭頭(微調按鈕)。編輯框的起始值是 value 屬性。當您按一下向上向下箭頭時,值會隨著 smallDelta 屬性增加及減少。

控制項參照

此處指定 XPage 控制項。

br - 換行

在文字中插入岔斷。

種類
核心控制項
語法
<xp:br attributes>content</xp:br>
表 1. 所有內容
種類 內容
協助工具 title
基本 attrsbindingidloadedrenderedrendererType
dojo dojoAttributesdojoType
樣式 disableThemestylestyleClassthemeId
用法

在執行時期,頁面上會出現換行。

通常這個控制項不會使用內容。

範例
此處換行隔開了兩個按鈕:
<xp:button value="提交" id="button2">
	<xp:eventHandler event="onclick" submit="true" refreshMode="complete"
	immediate="false" save="true"></xp:eventHandler>
</xp:button>
<xp:br></xp:br>
<xp:button value="取消" id="button3">
	<xp:eventHandler event="onclick" submit="true" refreshMode="complete"
	immediate="true" save="false"></xp:eventHandler>
</xp:button>

button - 按鈕

顯示使用者可以按一下以執行動作的按鈕。

種類
核心控制項
語法
<xp:button attributes>content</xp:button>
表 2. 重要內容
內容 說明
id 預設值為 button1button2 等等。
value 指定按鈕的標籤。
eventHandler 指定啟動按鈕時的動作。請參閱用法一節。
用法
在執行時期,頁面上會出現按鈕。 使用者可以按一下按鈕。
按鈕有三種類型:
  • 按鈕(預設)會回應您建立的事件處理程式,例如 onclick
  • 提交會儲存資料並關閉頁面。
  • 取消會關閉頁面。
關閉頁面時,載入的下一頁是由頁面的 navigationRules 內容判定,也就是使用者介面中的下一頁(成功或取消)
若要在使用者介面中設定按鈕類型,請按一下內容底下的按鈕,並尋找按鈕類型。產生的 eventHandler 內容具有下列屬性。 若您手動建構 eventHandler 內容,請遵循這些規則。
按鈕 提交 取消
event=any event="onclick" event="onclick"
submit=any submit="true" submit="true"
refreshMode=any refreshMode="complete" refreshMode="complete"
immediate=any immediate="false" immediate="true"
save=any save="true" save="false"
action=簡式動作或事件處理程式 action=none action=none
範例
這個 Button 控制項屬於「提交」類型。
<xp:button id="button1" value="提交">
	<xp:eventHandler event="onclick"
		submit="true" refreshMode="complete" immediate="false" save="true">
	</xp:eventHandler>
</xp:button>
這個 Button 控制項屬於「取消」類型。
<xp:button id="button2" value="取消">
	<xp:eventHandler event="onclick"
		submit="true" refreshMode="complete" immediate="true" save="false">
	</xp:eventHandler>
</xp:button>
這個 Button 控制項屬於「按鈕」類型,並且會在按一下時執行「儲存資料」的簡式動作。
<xp:button id="button1" value="儲存並結束">
	<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
		<xp:this.action>
			<xp:save name="/xpage2.xsp"></xp:save>
		</xp:this.action>
	</xp:eventHandler>
</xp:button>

callback - 可編輯區域

提供一個自訂控制項,其中附有一個區域,可在內嵌於 XPage 時進行編輯。

種類
核心控制項
語法
<xp:callback attributes>content</xp:callback>
表 4. 重要內容
內容 說明
id 預設值為 callback1callback2 等等。
facetName 識別資料類型區域。
表 5. 所有內容
種類 內容
基本 attrsbindingfacetNameidloadedrenderedrendererType
樣式 disableThemethemeId
用法
此控制項只適用於自訂控制項。

如需相關資訊,請參閱定義自訂控制項中的可編輯區域設定自訂控制項的一般內容

checkBox - 勾選框

顯示可選取或清除的方框。

種類
核心控制項
語法
<xp:checkBox attributes>content</xp:checkBox>
表 6. 重要內容
內容 說明
id 預設值為 checkBox1checkBox2 等等。
text 提供標籤。
value 將控制項連結到資料元素或其他值。
checkedValue 指定當選取方框時的資料值。預設值為字串 true
uncheckedValue 指定當清除方框時的資料值。預設值為字串 false
defaultChecked 指定 true 可依預設選取方框。
用法
在執行時期,頁面上會出現勾選框。 使用者可以選取或清除它。在選取時方框中會出現勾號。
範例
此「勾選框」控制項會根據選取(預設)還是清除方框來指派資料值。
<xp:checkBox id="checkBox2" text="Use user name instead of Anonymous"
	defaultChecked="true" value="#{document1.loginname}" uncheckedValue="Anonymous"
	checkedValue="#{javascript:session.getUserName()}">
</xp:checkBox>
這個「勾選框」控制項連結到名為 phonesame 的要求變數。若方框已變更,則會執行 Script。如果選取了勾選框,Script 會將 phonenight 控制項(編輯框)的值設為等於 phoneday 控制項。
<xp:checkBox text="Night phone same as day" id="checkBox1"
	value="#{requestScope.phonesame}">
	<xp:eventHandler event="onchange" submit="true" 	refreshMode="complete">
		<xp:this.action><![CDATA[#{javascript:
			if(requestScope.phonesame == "true") {
				getComponent("phonenight").setValue(
					getComponent("phoneday").getValue());
			}
		}]]></xp:this.action>
	</xp:eventHandler>
</xp:checkBox>

checkBoxGroup - 勾選框群組

顯示可選取或清除的多個方框。

種類
核心控制項
語法
<xp:checkBoxGroup attributes>content</xp:checkBoxGroup>
表 8. 內嵌控制項
控制項 說明
selectItem 提供一個項目供使用者選取。
selectItems 提供一個以上的項目供使用者選取。
表 9. 重要內容
種類 內容
id 預設值為 checkBoxGroup1checkBoxGroup2 等等。
value 將控制項連結到資料元素或其他值。
用法
在執行時期,頁面上會出現一個以上的勾選框。 使用者可以選取或清除它們。在選取時方框中會出現勾號。

連結到勾選框的資料元素必須容許多個值。

範例
這個「勾選框群組」控制項會呈現兩個項目供選取。
<xp:checkBoxGroup id="checkBoxGroup1" value="#{document1.fruit}">
		<xp:selectItem itemLabel="Apples" itemValue="apples"></xp:selectItem>
		<xp:selectItem itemLabel="Oranges" itemValue="oranges"></xp:selectItem>
	</xp:checkBoxGroup>
這個「勾選框群組」控制項會呈現兩個項目,供使用公式來選取。
<xp:checkBoxGroup id="checkBoxGroup1" value="#{document1.fruit}">
	<xp:selectItems>
		<xp:this.value>
			<![CDATA[#{javascript:return new Array("Apples|apples", "Oranges|oranges")}]]>
		</xp:this.value>
	</xp:selectItems>
</xp:checkBoxGroup>
這個「勾選框群組」會從檢視直欄的值取得其項目選取。
<xp:checkBoxGroup id="checkBoxGroup1" value="#{document1.fruit}">
	<xp:selectItems>
		<xp:this.value>
			<![CDATA[#{javascript:var list = @DbColumn("", "fruits", 1);
			return @Explode(list,",")}]]>
		</xp:this.value>
	</xp:selectItems>
</xp:checkBoxGroup>

comboBox - 組合框

顯示項目的清單,可以從中選取其中一個。

種類
核心控制項
語法
<xp:comboBox attributes>content</xp:comboBox>
表 11. 內嵌控制項
控制項 說明
selectItem 提供一個項目供使用者選取。
selectItems 提供一個以上的項目供使用者選取。
表 12. 重要內容
內容 說明
id 預設值為 comboBox1comboBox2 等等。
text 提供標籤。
value 將控制項連結到資料元素或其他值。
用法
在執行時期,頁面上會出現下拉清單。 使用者可以選取一個項目。
範例
這個「組合框」控制項會呈現兩個項目供選取。
<xp:comboBox id="comboBox1" value="#{document1.fruit}">
	<xp:selectItem itemLabel="Apples" itemValue="apples"></xp:selectItem>
	<xp:selectItem itemLabel="Oranges" itemValue="oranges"></xp:selectItem>
</xp:comboBox>
這個「組合框」控制項會呈現兩個項目,供使用公式來選取。
<xp:comboBox id="comboBox1" value="#{document1.fruit}">
	<xp:selectItems>
		<xp:this.value>
			<![CDATA[#{javascript:return new Array("Apples|apples", "Oranges|oranges")}]]>
		</xp:this.value>
	</xp:selectItems>
</xp:comboBox>
這個「組合框」會從檢視直欄的值取得其項目選取。
<xp:comboBox id="comboBox1" value="#{document1.fruit}">
	<xp:selectItems>
		<xp:this.value>
			<![CDATA[#{javascript:var list = @DbColumn("", "fruits", 1);
			return @Explode(list,",")}]]>
		</xp:this.value>
	</xp:selectItems>
</xp:comboBox>

dataTable - 資料表

包含排列為與資料來源相關聯之列和欄的資料格。 每一個資料格可以包含其他控制項(包括表格)及文字。

種類
儲存器控制項
語法
<xp:dataTable attributes>
	<xp:column attributes>content	</xp:column>
	...
</xp:dataTable>
表 14. 重要內容
內容 說明
id (dataTable) 預設值為 dataTable1dataTable2 等等。

(column) 預設值為 column1column2 等等。

value (dataTable) 通常資料連結是連結到元素的集合,例如 NotesDocumentCollection 物件。
var (dataTable) 通常這個變數會參照所連結之資料集合的一個成員,例如 NotesDocument 物件(如果連結是連結到 NotesDocumentCollection 物件)。
表 16. 所有內容 (column)
種類 內容
協助工具 role
基本 bindingidloadedrenderedrendererType
樣式 disableThemestylestyleClassthemeId
分頁器
包含分頁器的資料類型區域,是表格的一部分(視「設計」規格而定)。使用「來源」模式可在資料類型區域內工作。

以下是 pager 控制項的範例資料類型:

	<xp:this.facets>
	<xp:pager partialRefresh="true" layout="Previous Group Next"
		xp:key="header" id="pager1">
	</xp:pager>
</xp:this.facets>
顯示標籤上,內容底下的下列方框會影響資料類型內容,其影響如下:
  • 在標頭顯示分頁器(依預設為清除)會產生 header 鍵的 pager 控制項。 如果清除此項目,便不會產生資料類型區域。
  • 在標底顯示分頁器(依預設為清除)會產生 footer 鍵的 pager 控制項。
用法
在執行時期,頁面上會出現資料表。 使用者在存取表格時,一次可以存取一個資料格。

建立資料表之後,您可以新增及刪除列和欄。

每個直欄的內容是一、二或三等值,分別代表表格中的標頭、中間及標底列。中間列會呈現為可變數量的列(視資料來源中的元素數目而定)。

若為 Domino 視圖功能(例如種類、總計、回應文件及排序),則喜好 View 控制項。View 控制項會納入其來源 Domino 視圖的功能。

在您需要的功能超過 View 控制項的功能的情況下,喜好這個控制項。這個控制項可讓使用者在直欄內進行編輯,而 View 控制項卻沒有此功能。您可以使用這個控制項,來內含並連結其他您選擇的控制項(例如,image),而 View 控制項卻會受到來源 Domino 視圖設計的限制。

範例
這個資料表會顯示目前資料庫中所有文件的 subjectfruit 項目。
<xp:dataTable id="dataTable1" rows="30"
	value="#{javascript:return database.getAllDocuments()}" var="rowdoc">
	<xp:column id="column1">
		<xp:this.facets>
			<xp:label value="subject" id="label1" xp:key="header" style="font-weight:bold"></xp:label>
		</xp:this.facets>
		<xp:text escape="true" id="computedField1"><xp:this.value>
			<![CDATA[#{javascript:return rowdoc.getItemValueString("subject")}]]>
		</xp:this.value>	</xp:text>
	</xp:column>
	<xp:column id="column2">
		<xp:this.facets>
			<xp:label value="fruit" id="label2" xp:key="header" style="font-weight:bold"></xp:label>
		</xp:this.facets>
		<xp:text escape="true" id="computedField2"><xp:this.value>
			<![CDATA[#{javascript:return rowdoc.getItemValueString("fruit")}]]>
		</xp:this.value></xp:text>
	</xp:column>
</xp:dataTable>

dateTimeHelper - 日期時間選取器

顯示選取器,以便在編輯框內選取日期和時間值。

種類
核心控制項
語法
<xp:dateTimeHelper attributes>content</xp:dateTimeHelper>
表 17. 重要內容
內容 說明
id 預設值為 dateTimeHelper1dateTimeHelper2 等等。
用法
在「設計」模式中,建立日期時間選取器控制項會自動將它內嵌在編輯框控制項,且其顯示類型為日期/時間。 若要存取日期時間選取器內容,請選取「來源」模式,然後將焦點放在內嵌的 dateTimeHelper 元素。

在執行時期,使用者可以按一下選取器,然後選取日期和時間以便插入到編輯框。

範例
這個編輯框包含選取器,可以選取日期和時間值。
<xp:inputText id="inputText4" value="#{document1.mydatetime}">
	<xp:dateTimeHelper id="dateTimeHelper1"></xp:dateTimeHelper>
	<xp:this.converter>
		<xp:convertDateTime type="both" dateStyle="short" timeStyle="short"></xp:convertDateTime>
	</xp:this.converter>
</xp:inputText>

div - 分隔

充當 HTML 中的內容分隔或區塊。包含其他控制項和文字。

種類
儲存器控制項
語法
<xp:div attributes>content</xp:div>
表 19. 所有內容
種類 內容
協助工具 roletitle
基本 attrsbindingdiridlangloadedrenderedrendererType
dojo dojoAttributesdojoType
事件 onclickondblclickonkeydownonkeypressonkeyuponmousedownonmousemoveonmouseoutonmouseoveronmouseup
樣式 disableThemestylestyleClassthemeId
用法

在執行時期,頁面上會出現分隔的內容,以及任何已指派的內容。

範例
這些 Div 控制項包含不同樣式的文字和編輯框。
<xp:div style="font-weight:bold;padding-bottom:20.0px">
	Day phone =>
	<xp:inputText id="inputText2" value="#{document1.phoneday}"></xp:inputText>
</xp:div>
<xp:div style="font-weight:bold">
	Night phone =>
	<xp:inputText id="inputText3" value="#{document1.phonenight}"></xp:inputText>
</xp:div>

eventHandler - 事件處理程式(控制項)

回應使用者動作,例如按一下控制項。

種類
其他控制項
語法
<xp:eventHandler attributes>content</xp:eventHandler>
表 20. 重要內容
內容 說明
save 是否儲存與表單相關聯的資料。對於 Cancel 類型的按鈕,這應該是 false。
submit 此為 true 可傳送要求給伺服器,以及從伺服器取得回應。 用戶端處理程式可以傳回 false 來取消傳送要求。
refreshMode 指定頁面重新整理是完整、局部還是未執行。
immediate 對於 Cancel 類型的按鈕,這應該是 true。
用法
請參閱瞭解事件
範例
這是一個 Submit 類型的 Button 控制項。
<xp:button value="submit" id="button1">
	<xp:eventHandler event="onclick" submit="true"
		refreshMode="complete" immediate="false" save="true">
	</xp:eventHandler>
</xp:button>
這是一個 Cancel 類型的 Button 控制項。
<xp:button value="cancel" id="button2">
	<xp:eventHandler event="onclick" submit="true"
		refreshMode="complete" immediate="true" save="false">
	</xp:eventHandler>
</xp:button>
這個 Button 控制項具有使用者編寫的 onclick 事件。
<xp:button value="設定使用者名稱" id="button3">
	<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
	<xp:this.action>
			<![CDATA[#{javascript:getComponent("inputText2").setValue(session.getCommonUserName())}]]>
		</xp:this.action>
	</xp:eventHandler>
</xp:button>

fileDownload - 檔案下載

將檔案下載到本端檔案系統。

種類
核心控制項
語法
<xp:fileDownload attributes>content</xp:fileDownload>
表 22. 重要內容
內容 說明
id 預設值為 fileDownload1fileDownload2 等等。
value 將檔案控制項連結到資料元素或其他值,且其必須是 Rich Text 類型。
mimetype 強制下載 MIME 類型,而不讓它由檔案類型決定。
useUploadName 依預設,會使用原始檔名。
filename 若您不使用原始檔名,則指定附件名稱。
用法
在執行時期,頁面上會出現附加檔案的相關資訊。 這可能包括檔案類型、大小、名稱、修改日期、建立日期,以及使用者是否可以刪除附加的檔案。 使用者按一下名稱即可存取檔案瀏覽器,以便下載附加的檔案。
範例
這個「檔案下載」控制項容許使用者從文件的 Body 項目下載檔案。
<xp:fileDownload rows="30" id="fileDownload1"
	displayLastModified="false" value="#{document2.body}">
</xp:fileDownload>

fileUpload - 檔案上傳

從本端檔案系統上傳檔案。

種類
核心控制項
語法
<xp:fileUpload attributes>content</xp:fileUpload>
表 24. 重要內容
內容 說明
id 預設值為 fileUpload1fileUpload2 等等。
value 將檔案控制項連結到資料元素或其他值,且其必須是 Rich Text 類型。
mimetype 強制上傳為 MIME 類型,而不讓它由檔案類型決定。
useUploadName 依預設,會使用原始檔名。
filename 若您不使用原始檔名,則指定附件名稱。
用法
在執行時期,頁面上會出現檔案瀏覽器。 使用者可以從本端檔案系統指定或選取檔案。

儲存頁面時,檔案會附加到資料儲存庫中的連結項目。 這個項目必須屬於容許檔案附件的類型,例如 Rich Text。

範例
這個「檔案上傳」控制項會將檔案上傳到文件的 Body 項目。
<xp:fileUpload id="fileUpload1" value="#{document1.body}"></xp:fileUpload>

image - 影像(控制項)

顯示影像。

種類
核心控制項
語法
<xp:image attributes>content</xp:image>
表 26. 重要內容
內容 說明
id 預設值為 image1image2 等等。
for 識別目標控制項。
表 27. 所有內容
種類 內容
協助工具 altroletitle
基本 attrsbindingdiridismaplangloadedlongdescrenderedrendererTypeurlusemapvalue
事件 onbluronclickondblclickonfocusonkeydownonkeypressonkeyuponmousedownonmousemoveonmouseoutonmouseoveronmouseup
格式 heightwidth
樣式 disableThemestylestyleClassthemeId
用法
在執行時期,頁面上會出現影像。
範例
底下是在頁面上放置影像。
<xp:image url="/sound.gif" id="image1" alt="Sound image"></xp:image>

include - 併入頁面

插入另一個 XPage 的參照。

種類
儲存器控制項
語法
<xp:include attributes>content</xp:include>
表 28. 重要內容
內容 說明
id 預設值為 include1include2 等等。
pageName 這是要併入的頁面。
表 29. 所有內容
種類 內容
協助工具 roletitle
基本 attrsbindingcomponentIddiridloadedpageNamerenderedrendererType
資料 acldatadataContextsreadonly
dojo dojoAttributesdojoType
事件 onClientLoad
樣式 disableThemeouterStyleClassstylestyleClassthemeId
用法
在執行時期,會出現併入的 XPage。

在「設計」模式中,您可以看見併入的頁面,但無法修改它。

範例
以下是「併入頁面」控制項。
<xp:include pageName="/main.xsp" id="include1"></xp:include>

inputHidden - 隱藏輸入

隱藏資料不讓使用者看見。

種類
核心控制項
語法
<xp:inputHidden attributes>content</xp:inputHidden>
表 30. 重要內容
內容 說明
id 預設值為 inputHidden1inputHidden2 等等。
value 將控制項連結到資料元素或其他值。
用法
在執行時期,頁面上不會出現任何東西。 可以用程式設計方式操作控制項。

若要存取這個控制項,請開啟控制項選用區上的其他(或按一下建立 > 其他)。

範例
這個「隱藏輸入」控制項連結到 Domino 表單上的欄位。
<xp:inputHidden id="inputHidden1" value="#{document1.description}"></xp:inputHidden>

inputRichText - Rich Text

顯示輸入欄位,以便輸入格式化為 Rich Text 的文字。

種類
核心控制項
語法
<xp:inputRichText attributes>content</xp:inputRichText>
表 32. 重要內容
內容 說明
id 預設值為 inputRichText1inputRichText2 等等。
value 將控制項連結到資料元素或其他值。
用法
在執行時期,頁面上會出現有工具列的編輯框。 使用者可以輸入含有屬性(例如粗體及斜體)的文字,以及插入表格、附件、內嵌物件和其他構件。

CKEditor (http://ckeditor.com) 是 XPage 的預設 Rich Text 編輯器。 此編輯器允許內嵌影像、表格、鏈結及表情符號。編輯器包含拼字檢查程式。

您可以調整呈現的工具列。 當焦點在 Rich Text 控制項時,請按一下 Dojo 標籤然後新增屬性(dojoAttributes 內容),名稱為 toolbarType,值為 litemediumfull

您可以回復成 Dojo Rich Text 編輯器。當焦點在 Rich Text 控制項時,請按一下 Dojo 標籤然後指定 Dojo 類型(dojoType 內容)為 ibm.xsp.widget.layout.RichText

範例
這個 Rich Text 控制項連結到 Domino 表單上的欄位。
<xp:inputRichText id="inputRichText1" value="#{document1.body}"></xp:inputRichText>
此 Rich Text 控制項會使用 Dojo 編輯器。
<xp:inputRichText id="inputRichText1"
	value="#{document1.body}" dojoType="ibm.xsp.widget.layout.RichText">
</xp:inputRichText>
此 Rich Text 控制項會呈現完整工具列。
<xp:inputRichText id="inputRichText1" value="#{document1.body}">
	<xp:this.dojoAttributes>
		<xp:dojoAttribute name="toolbarType" value="full"></xp:dojoAttribute>
	</xp:this.dojoAttributes>
</xp:inputRichText>

inputText - 編輯框

顯示輸入欄位,以便輸入一行資料。

種類
核心控制項
語法
<xp:inputText attributes>content</xp:inputText>
表 34. 重要內容
內容 說明
id 預設值為 inputText1inputText2 等等。
value 將編輯框連結到資料元素或其他值。
用法
在執行時期,頁面上會出現編輯框。 使用者可以在方框中輸入一行文字。
範例
這個「編輯框」控制項連結到 Domino 表單上的欄位。
<xp:inputText id="inputText1" value="#{document1.subject}"></xp:inputText>
這個「編輯框」控制項連結到有範圍限制的變數。
<xp:inputText id="inputText2" value="#{requestScope.subject}"></xp:inputText>

inputTextarea - 多行編輯框

顯示輸入欄位,以便輸入多行資料。

種類
核心控制項
語法
<xp:inputTextarea attributes>content</xp:inputTextarea>
表 36. 重要內容
內容 說明
id 預設值為 inputTextarea1inputTextarea2 等等。
value 將控制項連結到資料元素或其他值。
cols 指定若未被 stylewidth 屬性置換,要使用的欄數。
rows 指定若未被 styleheight 屬性置換,要使用的列數。
用法
在執行時期,頁面上會出現編輯框。 使用者可以在方框中輸入多行文字。如果使用者超過方框的大小,會出現捲動裝置。
範例
這個「多行編輯框」控制項連結到 Domino 表單上的欄位。
<xp:inputTextarea id="inputTextarea1" value="#{document1.description}"
	cols="64" rows="8">
</xp:inputTextarea>

label - 標籤(控制項)

顯示文字。

種類
核心控制項
語法
<xp:label attributes>content</xp:label>
表 38. 重要內容
內容 說明
id 預設值為 label1label2 等等。
value 指定按鈕的標籤。
for 指定當使用者按一下或以其他方式將焦點放在這個控制項時,獲得焦點的控制項。
表 39. 所有內容
種類 內容
協助工具 accesskeyroletitle
基本 attrsbindingdirforhtmlFilteridlangloadedrenderedrendererType
資料 convertervalue
事件 onbluronclickondblclickonfocusonkeydownonkeypressonkeyuponmousedownonmousemoveonmouseoutonmouseoveronmouseup
樣式 disableThemestylestyleClassthemeId
用法

在執行時期,頁面上會出現標籤的值。 焦點會如指定地重新導向。

範例
這個「標籤」控制項會以藍色顯示一般使用者名稱:
<xp:label
	value="#{javascript:session.getCommonUserName()}"
	id="label1" style="color:rgb(0,0,255)" for="inputText1">
</xp:label>

listBox 清單框

顯示項目的清單,可以從中選取其中一個以上。

種類
核心控制項
語法
<xp:listBox attributes>content</xp:listBox>
表 42. 內嵌控制項
控制項 說明
selectItem 提供一個項目供使用者選取。
selectItems 提供一個以上的項目供使用者選取。
表 43. 重要內容
內容 說明
id 預設值為 listBox1listBox2 等等。
value 將控制項連結到資料元素或其他值。
用法
在執行時期,頁面上會出現有項目清單的方框。 使用者可以選取一個以上的項目。如果有多個項目,則 multiple 必須為 true。

若為多個項目,連結至清單框的資料元素必須容許多個值。

範例
這個「清單框」控制項會呈現兩個項目供選取。
<xp:listBox id="listBox1" value="#{document1.fruit}" multiple="true">
	<xp:selectItem itemLabel="Apples" itemValue="apples"></xp:selectItem>
	<xp:selectItem itemLabel="Oranges" itemValue="oranges"></xp:selectItem>
</xp:listBox>
這個「清單框」控制項會呈現兩個項目,供使用公式來選取。
<xp:listBox id="listBox1" value="#{document1.fruit}"
	multiple="true">
	<xp:selectItems>
		<xp:this.value>
			<![CDATA[#{javascript:return new Array("Apples|apples", "Oranges|oranges")}]]>
		</xp:this.value>
	</xp:selectItems>
</xp:listBox>
這個「清單框」會從檢視直欄的值取得其項目選取。
<xp:listBox id="listBox1" value="#{document1.fruit}"
	multiple="true">
	<xp:selectItems>
		<xp:this.value>
			<![CDATA[#{javascript:var list = @DbColumn("", "fruits", 1);
			return @Explode(list,",")}]]>
		</xp:this.value>
	</xp:selectItems>
</xp:listBox>

message - 顯示錯誤

顯示一個控制項的錯誤訊息。

種類
核心控制項
語法
<xp:message attributes>content</xp:message>
表 45. 重要內容
內容 說明
id 預設值為 message1message2 等等。
for 識別目標控制項。
表 46. 所有內容
種類 內容
協助工具 roletitle
基本 attrsbindingdirforidlangloadedrenderedrendererType
格式 showDetailshowSummarytooltip
樣式 disableThemeerrorClasserrorStylefatalClassfatalStyleinfoClassinfoStylestylestyleClassthemeIdwarnClasswarnStyle
所有內容
用法
依預設,大部分驗證檢查都會在傳送要求到伺服器之前先在用戶端上發生。 若驗證失敗,用戶端會在對話框中顯示錯誤訊息,並取消伺服器要求。

若您想要在伺服器上發生驗證檢查,並在此控制項中顯示錯誤訊息,您必須將目標控制項的 disableClientSideValidation 設定成 true

範例
以下的輸入框連結到數值資料,且不會在用戶端進行驗證。 以下是輸入框的錯誤顯示畫面。
<xp:inputText id="inputText3" value="#{document1.number}"
	disableClientSideValidation="true">
	<xp:this.converter>
		<xp:convertNumber type="number"></xp:convertNumber>
	</xp:this.converter>
</xp:inputText>
<xp:message id="message1" for="inputText3"></xp:message>
若使用者在輸入框裡輸入非數值的值,則下列訊息會出現在錯誤顯示畫面中:
此欄位不是有效的數字

messages - 顯示錯誤

顯示頁面上所有控制項的錯誤訊息。

種類
核心控制項
語法
<xp:messages attributes>content</xp:messages>
表 47. 重要內容
內容 說明
id 預設值為 message1message2 等等。
layout 佈置可以是清單(預設)或表格。
表 48. 所有內容
種類 內容
協助工具 roletitle
基本 attrsbindingdirglobalOnlyidlangloadedrenderedrendererType
格式 layoutshowDetailshowSummarytooltip
樣式 disableThemeerrorClasserrorStylefatalClassfatalStyleinfoClassinfoStylestylestyleClassthemeIdwarnClasswarnStyle
用法
依預設,大部分驗證檢查都會在傳送要求到伺服器之前先在用戶端上發生。 若驗證失敗,用戶端會在對話框中顯示錯誤訊息,並取消伺服器要求。

若您想要在伺服器上發生驗證檢查,並在此控制項中顯示錯誤訊息,您必須將目標控制項的 disableClientSideValidation 設定成 true

範例
以下的輸入框連結到數值資料,且不會在用戶端進行驗證。 以下是輸入框的錯誤顯示畫面。
<xp:inputText id="inputText3" value="#{document1.number}"
	disableClientSideValidation="true">
	<xp:this.converter>
		<xp:convertNumber type="number"></xp:convertNumber>
	</xp:this.converter>
</xp:inputText>
<xp:message id="message1" for="inputText3"></xp:message>
若使用者在輸入框裡輸入非數值的值,則下列訊息會出現在錯誤顯示畫面中:
此欄位不是有效的數字

pager - 分頁器

當儲存器控制項的資料無法顯示在一個視窗裡時,將儲存器控制項的資料分頁。

種類
核心控制項
語法
<xp:pager attributes>
	<xp:pagerControl attributes></xp:pagerControl> <!--if custom for page style-->
content</xp:pager>
表 49. 重要內容
內容 說明
id (pager) 預設值為 pager1pager2 等等。

(pagerControl) 預設值為 pagerControl1pagerControl2 等等。

layout (pager) 若要佈置輸出,請使用這個內容或是內嵌 pagerControl 控制項。
for (pager) 只有在分頁器不在目標控制項內時才使用。
type (pagerControl) 當您在分頁器的分頁器樣式使用自訂時,會產生類型。
表 50. 所有內容 (pager)
種類 內容
協助工具 roletitle
基本 attrsalwaysCalculateLastbindingdirforidlangloadedpageCountpartialExecutepartialRefreshrenderedrendererType
格式 layoutpanelPosition
樣式 disableThemeouterStyleClassstylestyleClassthemeId
用法
在執行時期,使用者可以按一下分頁器,反覆運算控制項中的資料(該控制項允許資料反覆運算,例如檢視畫面)。

分頁器可以放在有資料之控制項內的資料類型區域。 或者,分頁器可以透過 for 內容,與資料控制項相關聯。

分頁器控制項的產生有兩種方式:
  • 指定佈置內容。在「設計」模式中,按一下內容下的頂端標籤,並針對分頁器樣式選取其中一個範例選項。
  • 內嵌 pagerControl 控制項。在「設計」模式中,按一下內容下的頂端標籤,並針對分頁器樣式選取自訂
範例
這個「檢視畫面」控制項包含「分頁器」控制項:
<xp:viewPanel rows="30" id="viewPanel1">
	<xp:this.facets>
		<xp:pager partialRefresh="true"
			layout="Previous Separator Group Separator Next"
			xp:key="headerPager" id="pager1">
		</xp:pager>
	</xp:this.facets>
	<xp:this.data>
		<xp:dominoView var="view2" viewName="main"></xp:dominoView>
	</xp:this.data>
	<xp:viewColumn columnName="subject" id="viewColumn1">
		<xp:viewColumnHeader value="subject"
			id="viewColumnHeader1">
		</xp:viewColumnHeader>
	</xp:viewColumn>
	<xp:viewColumn columnName="fruit" id="viewColumn2">
		<xp:viewColumnHeader value="fruit" id="viewColumnHeader2"></xp:viewColumnHeader>
	</xp:viewColumn>
</xp:viewPanel>

pagerControl - 分頁器子項控制項

指定一般分頁器內的分頁器控制項。

種類
儲存器控制項
用法
請參閱分頁器

panel - 畫面

充當其他控制項的儲存器,以及具有共同資料來源及內容之文字的儲存器。

種類
儲存器控制項
語法
<xp:panel attributes>content</xp:panel>
表 52. 所有內容
種類 內容
協助工具 roletitle
基本 attrsbindingdiridloadedrenderedrendererTypetagName
資料 acldatadataContextsreadonly
dojo dojoAttributesdojoType
事件 onClientLoad
樣式 disableThemeouterStyleClassstylestyleClassthemeId
用法
在執行時期,頁面上會出現畫面的內容,以及任何已指派的資料來源和內容。
範例
這個「畫面」控制項會定義資料來源,並包含文字及編輯框。
<xp:panel style="height:60.0px;width:408.0px">
	<xp:this.data>
		<xp:dominoDocument var="document2" formName="form1"></xp:dominoDocument>
	</xp:this.data>
	<xp:inputText id="inputText2" value="#{document2.phoneday}"></xp:inputText>
	day phone	<xp:br></xp:br>
	<xp:inputText id="inputText3" value="#{document2.phonenight}"></xp:inputText>
	night phone
</xp:panel>

paragraph - 段落

以段落格式結合文字。

種類
其他控制項
語法
<xp:paragraph attributes>content</xp:paragraph>
表 53. 重要內容
內容 說明
id 預設值為 paragraph1paragraph2 等等。
表 54. 所有內容
種類 內容
協助工具 roletitle
基本 attrsbindingdiridlangloadedrenderedrendererType
dojo dojoAttributesdojoType
事件 onclickondblclickonkeydownonkeypressonkeyuponmousedownonmousemoveonmouseoutonmouseoveronmouseup
樣式 disableThemestylestyleClassthemeId
用法

在執行時期,頁面上會出現段落的內容,以及任何已指派的內容。

範例
這個「段落」控制項會以粗體建立文字的段落。
<xp:paragraph id="paragraph1" style="font-weight:bold>時候到了。</xp:paragraph>

platformEvent - 平台事件控制項

處理平台事件。

種類
其他控制項
語法
<xp:platformEvent attributes>content</xp:platformEvent>
表 55. 重要內容
內容 說明
id 預設值為 platformEvent1platformEvent2 等等。
表 56. 所有內容
種類 內容
基本 bindingeventNameidlangloadedrenderedrendererType
  onevent
樣式 disableThemethemeId
用法

平台事件用來在 Notes 用戶端中發佈「複合應用程式」事件。

radio - 圓鈕

顯示可選取或清除的按鈕。成為群組時,該群組中只能選取一個按鈕。

種類
核心控制項
語法
<xp:radio attributes>content</xp:radio>
表 57. 重要內容
內容 說明
id 預設值為 radio1radio2 等等。
text 提供標籤。
value 將控制項連結到資料元素或其他值。
selectedValue 指定當選取按鈕時的資料值。
defaultSelected 指定 true 可依預設選取按鈕。
groupName 將圓鈕指派給群組。
skipContainers 將不同儲存器中的圓鈕(例如,資料表中的直欄)指派到相同的群組。
用法
在執行時期,頁面上會出現按鈕。 使用者可以選取或清除它。按鈕選取時會顯示為已填滿。

選取按鈕時,指派給相同群組的所有其他按鈕都會被清除。

指派按鈕給群組類似於建立圓鈕群組控制項。使用個別按鈕以及群組指派讓您擁有放置的彈性。

範例
這些「圓鈕」控制項會視選取了什麼,而指派值 applesorangesdocument1.fruit。 按鈕會一致地行動。若選取 Apples,便會清除 oranges
<xp:radio text="Apples" id="radio1" value="#{document1.fruit}"
	groupName="fruit" selectedValue="apples">
</xp:radio>
<xp:radio text="Oranges" id="radio2" value="#{document1.fruit}"
	groupName="fruit" selectedValue="oranges">
</xp:radio>

radioGroup - 圓鈕群組

顯示可選取或清除的多個按鈕。群組中只能選取一個按鈕。

種類
核心控制項
語法
<xp:radioGroup attributes>content</xp:radioGroup>
表 59. 內嵌控制項
控制項 說明
selectItem 提供一個項目供使用者選取。
selectItems 提供一個以上的項目供使用者選取。
表 60. 重要內容
內容 說明
id 預設值為 radioGroup1radioGroup2 等等。
text 提供標籤。
value 將控制項連結到資料元素或其他值。
用法
在執行時期,頁面上會出現一個以上的圓鈕。使用者可以選取一個按鈕。選取按鈕時,選取的任何其他按鈕都會被清除。
範例
這個「圓鈕群組」控制項會呈現兩個項目供選取。
<xp:radioGroup id="radioGroup1" value="#{document1.fruit}" layout="pageDirection">
	<xp:selectItem itemLabel="Apples" itemValue="apples"></xp:selectItem>
	<xp:selectItem itemLabel="Oranges" itemValue="oranges"></xp:selectItem>
</xp:radioGroup>
這個「圓鈕群組」控制項會呈現兩個項目,供使用公式來選取。
<xp:radioGroup id="radioGroup1" value="#{document1.fruit}"
	layout="pageDirection">
	<xp:selectItems>
		<xp:this.value>
			<![CDATA[#{javascript:return new Array("Apples|apples", "Oranges|oranges")}]]>
		</xp:this.value>
	</xp:selectItems>
</xp:radioGroup>
這個「勾選框群組」會從檢視直欄的值取得其項目選取。
<xp:radioGroup id="radioGroup1" value="#{document1.fruit}"
	layout="pageDirection">
	<xp:selectItems>
		<xp:this.value>
			<![CDATA[#{javascript:var list = @DbColumn("", "fruits", 1);
			return @Explode(list,",")}]]>
		</xp:this.value>
	</xp:selectItems>
</xp:radioGroup>

repeat - 重複

反覆運算過資料來源,來重複內嵌的控制項。

種類
儲存器控制項
語法
<xp:repeat attributes>
	contol ...
</xp:repeat>
表 62. 重要內容
內容 說明
id 預設值為 repeat1repeat2 等等。
value 通常資料連結是連結到元素的集合,例如 NotesDocumentCollection 物件。
var 通常這個變數會參照所連結之資料集合的一個成員,例如 NotesDocument 物件(如果連結是連結到 NotesDocumentCollection 物件)。
表 63. 所有內容
種類 內容
協助工具 role
基本 attrsbindingdiridlangloadedremoveRepeatrenderedrendererTyperepeatControlsrowAttrs
資料 firstindexVarrowsvaluevar
樣式 disableThemestylestyleClassthemeId
用法
在執行時期,頁面上會出現控制項的重複內容。 在 repeat 控制項的內容中使用 var 可以針對資料來源的每一個成員重複其內容。
範例
這個 repeat 控制項會顯示目前資料庫中所有文件的 subject 項目。
<xp:repeat id="repeat1" rows="30"
	value="#{javascript:return database.getAllDocuments()}" var="rowdoc"
	repeatControls="true">
	<xp:text escape="true" id="computedField1">
		<xp:this.value>
			<![CDATA[#{javascript:return rowdoc.getItemValueString("subject") + " "}]]>
		</xp:this.value>
	</xp:text>
</xp:repeat>

scriptBlock - 輸出 Script

輸出用戶端 Script。

種類
核心控制項
語法
<xp:scriptBlock attributes>content</xp:scriptBlock>
表 64. 重要內容
內容 說明
id 預設值為 scriptBlock1scriptBlock2 等等。
value 指定用戶端 Script。
表 65. 所有內容
種類 內容
基本 attrsbindingcharsetdeferidloadedrenderedrendererTypesrctype
資料 convertervalue
dojo dojoArgsdojoEvent
樣式 disableThemethemeId
用法
此控制項只適用於自訂控制項。

在執行時期,當包含自訂控制項的 XPage 載入至用戶端時,Script 便會執行。

範例
此「輸出 Script」控制項位於自訂控制項中。當內嵌在 XPage 且 XPage 開啟時,它會顯示 alert 方框。
<xp:scriptBlock id="scriptBlock2" type="text/javascript">
	<xp:this.value><![CDATA[alert("hello custom")]]></xp:this.value>
</xp:scriptBlock>

section - 區段

充當其他控制項及文字的可收合儲存器。

種類
儲存器控制項
語法
<xp:section attributes>content</xp:section>
表 66. 重要內容
內容 說明
id 預設值為 section1section2 等等。
header 標頭會出現在區段的頂端,且當收合區段時可以看見它。
type 格式化類型有:
  • default:沒有邊框
  • wide:底端顯示灰色長條
  • box:灰色長條圍住四個邊
  • tab:箭頭及箭頭底下的區段內容為灰色背景
initClosed 依預設,區段一開始是開啟的。
用法
在執行時期,頁面上會出現區段:
  • 關閉的區段只會顯示標頭。
  • 開啟的區段顯示標頭和內容。
使用者可以開啟及關閉區段。
範例
這個區段包含兩個編輯框。
<xp:section id="section1" header="Phone numbers" type="tab"
	initClosed="true">
	<xp:inputText id="inputText2" value="#{document1.phoneday}"></xp:inputText>day
	<xp:br></xp:br>
	<xp:inputText id="inputText3" value="#{document1.phonenight}"></xp:inputText>night
</xp:section>

selectItem - 選取項目

提供項目供使用者選取(例如,在勾選框中)。

種類
語法
<xp:selectItem attributes>content</xp:selectItem>
表 68. 重要內容
內容 說明
itemLabel 提供要顯示給使用者的文字。必要項目。
itemValue 提供如果使用者選取這個項目時,母項控制項的值。必要項目。
表 69. 所有內容
種類 內容
基本 attrsbindingiditemDescriptionitemDisableditemLabelrenderedrendererType
資料 itemValuevalue
格式 disableThemethemeId
用法
將這個控制項內嵌在另一個控制項中,以提供母項控制項進行項目選取。

在「設計」模式中,將焦點放在要包含項目選取的控制項,然後按一下內容下的標籤。 使用新增項目匯入清單來建立 selectItem 控制項。

若要在所有內容底下看到項目選取內容,您必須切換到「來源」模式,然後將焦點放在內嵌的 selectItem 控制項(而不是母項控制項)。

範例
此「勾選框群組」控制項包含兩個項目可供選取。
<xp:checkBoxGroup id="checkBoxGroup1" value="#{document1.fruit}">
	<xp:selectItem itemLabel="Apples" itemValue="apples"></xp:selectItem>
	<xp:selectItem itemLabel="Oranges" itemValue="oranges"></xp:selectItem>
</xp:checkBoxGroup>

selectItems - 選取項目

提供一個以上的項目供使用者選取(例如,在勾選框中)。

種類
語法
<xp:selectItems attributes>content</xp:selectItems>
表 70. 重要內容
內容 說明
value 針對一個以上的說明項目,提供標籤、值、說明和可停用的旗標。 這裡的值與資料連結不同。
表 71. 所有內容
種類 內容
基本 attrsbindingidloadedrenderedrendererType
資料 value
格式 disableThemethemeId
用法
將這個控制項內嵌在另一個控制項中,以提供母項控制項進行項目選取。

在「設計」模式中,將焦點放在要包含項目選取的控制項,然後按一下內容下的標籤。 使用新增公式項目來建立 selectItems 控制項。

若要在所有內容底下看到項目選取內容,您必須切換到「來源」模式,然後將焦點放在內嵌的 selectItems 控制項(而不是母項控制項)。

值公式必須傳回陣列。 陣列的每一個元素必須定義一個選取項目,其依照下列方式進行格式化:
label|value|description|disabled
其中只有 label 是必要項目。垂直線是語法的一部分。

如果未指定 value,它預設為 label。請將 disabled 指定為 true,以停用(變成灰色)選取項目。

針對回覆值,您可以推翻 (@Explode) @DbColumn@DbLookup 的結果。

範例
此「勾選框群組」控制項包含兩個項目可供選取。
<xp:checkBoxGroup id="checkBoxGroup1" value="#{document1.fruit}">
	<xp:selectItems>
		<xp:this.value>
			<![CDATA[#{javascript:return new Array("Apples", "Oranges")}]]>
		</xp:this.value>
	</xp:selectItems>
</xp:checkBoxGroup>
這個「勾選框群組」控制項針對標籤和值使用不同的名稱。
<xp:checkBoxGroup id="checkBoxGroup1" value="#{document1.fruit}">
	<xp:selectItems>
		<xp:this.value>
			<![CDATA[#{javascript:return new Array("Apples|apples", "Oranges|oranges")}]]>
		</xp:this.value>
	</xp:selectItems>
</xp:checkBoxGroup>
這個「勾選框群組」控制項會停用第一個選取項目。
<xp:checkBoxGroup id="checkBoxGroup1" value="#{document1.fruit}">
	<xp:selectItems>
		<xp:this.value>
			<![CDATA[#{javascript:return new Array("Apples|apples||true", "Oranges|oranges")}]]>
		</xp:this.value>
	</xp:selectItems>
</xp:checkBoxGroup>
這個「勾選框群組」會從檢視直欄的值取得其項目選取。
<xp:checkBoxGroup id="checkBoxGroup1" value="#{document1.fruit}">
	<xp:selectItems>
		<xp:this.value>
			<![CDATA[#{javascript:var list = @DbColumn("", "fruits", 1);
			return @Explode(list,",")}]]>
		</xp:this.value>
	</xp:selectItems>
</xp:checkBoxGroup>

span - 跨距內容

結合文字,通常是針對內容的應用。

種類
核心控制項
語法
<xp:span attributes>content</xp:span>
表 72. 所有內容
種類 內容
協助工具 roletitle
基本 attrsbindingdiridlangloadedrenderedrendererType
dojo dojoAttributesdojoType
事件 onclickondblclickonkeydownonkeypressonkeyuponmousedownonmousemoveonmouseoutonmouseoveronmouseup
樣式 disableThemestylestyleClassthemeId
用法

在執行時期,頁面上會出現跨距的內容,以及任何已指派的內容。

您通常不會直接套用這個控制項。 若您強調顯示頁面上的文字,並套用粗體之類的內容,則會自動建立跨距。

若要直接使用空格,來源模式最為適當。

範例
這裡的 Span 控制項用來將文字設成粗體:
<xp:span id="span1" style="font-weight:bold">
	時候到了。
</xp:span>

tabbedPanel - 標籤畫面

充當其他控制項及文字的儲存器集合。

種類
儲存器控制項
語法
<xp:tabbedPanel attributes>
	<xp:tabPanel attributes>content</xp:tabPanel></xp:tabbedPanel>
	...
</xp:tabbedPanel>
表 73. 重要內容
內容 說明
id (tabbedPanel) 預設值為 tabbedPanel1tabbedPanel2 等等。

(tabPanel) 預設值為 tabPanel1tabPanel2 等等。

selectedTab (tabbedPanel) 一開始會開啟標籤畫面,並且到這個標籤。
text (tabPanel) 提供標籤 (tab) 的標籤 (label)。
表 74. 所有內容 (tabbedPanel)
種類 內容
協助工具 roletitle
基本 attrsbindingdiridlangloadedrenderedrendererTypeselectedTab
樣式 containerStyleClassdisableThemeouterStyleClassstylestyleClassthemeId
用法
在執行時期,頁面上會出現所選取標籤畫面的內容。 可以看見其他標籤,但不會看到它們的內容。 使用者藉由選取標籤來變更畫面。
在「設計」模式中,將焦點放在標籤畫面上便會選取 tabbedPanel 元素。 若要使用 tabPanel 元素,請按一下滑鼠右鍵或使用功能表來執行下列動作:
  • 選取作用中的標籤內容會將焦點放在焦點中之標籤的 tabPanel 元素。
  • 移除作用中的標籤移除焦點中之標籤的 tabPanel 元素。
  • 插入標籤會插入新的 tabPanel 元素。
  • 附加標籤會附加新的 tabPanel 元素。
範例
這個「標籤畫面」控制項有兩個畫面。
<xp:tabbedPanel id="tabbedPanel1" selectedTab="tabPanel1">
	<xp:tabPanel id="tabPanel1" label="Day">
		<xp:inputText id="inputText2"
			value="#{document1.phoneday}">
		</xp:inputText>
	</xp:tabPanel>
	<xp:tabPanel label="Night" id="tabPanel2">
		<xp:inputText id="inputText3"
			value="#{document1.phonenight}">
		</xp:inputText>
	</xp:tabPanel>
</xp:tabbedPanel>

table - 表格

包含排列為列和欄的資料格。 每一個資料格可以包含其他控制項(包括表格)及文字。

種類
儲存器控制項
語法
<xp:table attributes>
	<xp:tr attributes>
			<xp:td attributes>cell content</xp:td>
			...
	</xp:tr>
	...
</xp:table>
表 77. 所有內容 (tr)
種類 內容
協助工具 roletitle
基本 bindingdiridlangloadedrenderedrendererType
dojo dojoAttributesdojoType
事件 onclickondblclickonkeydownonkeypressonkeyuponmousedownonmousemoveonmouseoutonmouseoveronmouseup
格式 alignvalign
樣式 disableThemestylestyleClassthemeId
表 78. 所有內容 (td)
種類 內容
協助工具 roletitle
基本 bindingdiridlangloadedrenderedrendererType
dojo dojoAttributesdojoType
事件 onclickondblclickonkeydownonkeypressonkeyuponmousedownonmousemoveonmouseoutonmouseoveronmouseup
格式 aligncolspanrowspanvalign
樣式 disableThemestylestyleClassthemeId
用法
在執行時期,頁面上會出現表格。 使用者在存取表格時,一次可以存取一個資料格。
當您在「設計」模式中,在 XPage 上插入表格時,對話框會要求列數和欄數。 建立表格之後,您可以:
  • 新增及刪除列和欄。
  • 合併資料格。
  • 選取資料格及多個資料格。
  • 新增及刪除資料格內容。
範例
這個表格包含 4 個資料格,排列方式為 2 列、2 欄。
<xp:table>
	<xp:tr>
		<xp:td>
			<xp:label id="label1" value="row 1, column 1"></xp:label>
		</xp:td>
		<xp:td>
			<xp:label value="row 1, column 2" id="label3"></xp:label>
		</xp:td>
	</xp:tr>
	<xp:tr>
		<xp:td>
			<xp:label value="row 2, column 1" id="label2"></xp:label>
		</xp:td>
		<xp:td>
			<xp:label value="row 2, column 2" id="label4"></xp:label>
		</xp:td>
	</xp:tr>
</xp:table>

text - 計算的欄位

顯示值。

種類
核心控制項
語法
<xp:text attributes>content</xp:text>
表 79. 重要內容
內容 說明
id 預設值為 computedField1computedField2 等等。
value 將計算的欄位連結到資料元素或其他值。
表 80. 所有內容
種類 內容
協助工具 roletitle
基本 attrsbindingdirescapeforhtmlFilteridlangloadedrenderedrendererTypetagName
資料 convertervalue
格式 contentType
樣式 disableThemeouterStyleClassstylestyleClassthemeId
用法

在執行時期,頁面上會出現計算欄位的值。

範例
這個「計算的欄位」控制項會顯示兩個限定範圍變數的總和:
<xp:text escape="true" id="computedField1"
	value="#{javascript:return requestScope.number1 + requestScope.number2}">
	<xp:this.converter>
		<xp:convertNumber type="number"></xp:convertNumber>
	</xp:this.converter>
</xp:text>
這個「計算的欄位」控制項會顯示連結至目前 XPage 之資料元素的值。
<xp:text escape="true" id="computedField4" value="#{document1.subject}"></xp:text>

typeAhead - AJAX 自動搜尋

當使用者鍵入連續的字元且符合指定的建議時,自動填入母項控制項。

種類
其他控制項
語法
<xp:typeAhead attributes>content</xp:typeAhead>
表 81. 重要內容
內容 說明
mode 重新整理模式。
minChars 觸發自動搜尋的字元數下限。
valueList 輸入其起始字元時傳回的建議。
valueListSeparator 建議分隔字元。
tokens 使用者機器指定建議時的用戶端分隔字元。
ignoreCase 尊重還是忽略大小寫。
用法
將這個控制項內嵌在另一個控制項中,以影響母項控制項的輸入。

在「設計」模式中,將焦點放在要取得自動搜尋的控制項,然後按一下內容下的自動搜尋標籤。 勾選啟用自動搜尋會將自動搜尋控制項內嵌到目前的控制項。

若要在所有內容底下看到自動搜尋內容,您必須切換到「來源」模式,然後將焦點放在內嵌的 typeAhead 控制項(而不是母項控制項)。

範例
這個「編輯框」控制項提供自動搜尋。
<xp:inputText id="inputText1" value="#{document1.subject}">
	<xp:typeAhead mode="full" minChars="1"
	valueList="alpha#beta#charlie#delta#echo#foxtrot"
	valueListSeparator="#" tokens=",/" ignoreCase="true">
</xp:typeAhead></xp:inputText>

view - XPage

定義最上層的儲存器控制項,亦即 XPage 本身。

種類
所有內容
用法
在執行時期,載入頁面時會套用頁面內容。

在「設計」模式中,將焦點放在頁面上所有控制項之外,即可看到頁面內容。

範例
這個 XPage 定義資料來源,並包含編輯框和按鈕。
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
	<xp:this.data>
		<xp:dominoDocument var="document1" formName="form1"></xp:dominoDocument>
	</xp:this.data>
	<xp:inputText id="inputText1"
		value="#{document1.subject}" style="font-weight:bold">
	</xp:inputText>
	<xp:button value="submit" id="button1" 	style="font-weight:bold">
		<xp:eventHandler event="onclick"
			submit="true" refreshMode="complete" immediate="false" save="true">
						</xp:eventHandler>
	</xp:button>
</xp:view>

viewPanel - 視圖

以列和欄顯示來自文件的資料。

種類
儲存器控制項
語法
<xp:viewPanel attributes>
	<xp:this.facets>
		<xp:pager attributes></xp:pager>
	</xp:this.facets>
	<xp:this.data>
		<xp:dominoView attributes></xp:dominoView>
	</xp:this.data>
	<xp:viewColumn attributes">
		<xp:viewColumnHeader attributes></xp:viewColumnHeader>
	</xp:viewColumn>
	...
</xp:viewPanel>
表 84. 重要內容
內容 說明
id (viewPanel) 預設值為 viewPanel1viewPanel2 等等。

(viewColumn) 預設值為 viewColumn1viewColumn2 等等。

(viewColumnHeader) 預設值為 viewColumnHeader1viewColumnHeader2 等等。

rows (viewPanel) 這是一次顯示的列數,依預設是 30。
data (viewPanel) 將 Domino 視圖連結至控制項。
pageName (viewPanel) 依預設,當直欄項目是鏈結時,與文件表單相關聯的 XPage 會用來開啟選取的文件。 這裡可以使用指定的 XPage。
columnName (viewColumn) 來自資料來源的直欄名稱會透過視圖建立對話框設定,且稍後可以再變更。
displayAs, (viewColumn) 依預設,項目會顯示為文字。 指定 displayAs="link" 可以將這些項目變更為基礎文件的鏈結。
value (viewColumnHeader) 這是直欄標頭的標籤。
表 86. 所有內容 (viewColumn)
種類 內容
協助工具 role
基本 attrsbindingcolumnNamedisplayAshtmlFilteridloadedrenderedrendererTypewidth
資料 converteropenDocAsReadonlypageUrlvalue
事件 onClick
格式 collapsedImagecontentTypeexpandedImageiconAlticonSrcindentResponsesshowCheckbox
樣式 disableThemestylestyleClassthemeId
表 87. 所有內容 (viewColumnHeader)
種類 內容
協助工具 role
基本 attrsbindinghtmlFilteridloadedrenderedrendererTypesortablevalue
格式 contentTypeiconAlticonSrcshowCheckbox
樣式 disableThemestylestyleClassthemeId
分頁器
包含分頁器的資料類型區域,是視圖的一部分(視「設計」規格而定)。您可以將其他控制項(例如畫面)放在資料類型區域中。 使用「來源」模式可在資料類型區域內工作。

以下是 pager 控制項的範例資料類型:

	<xp:this.facets>
	<xp:pager partialRefresh="true" layout="Previous Group Next"
			xp:key="headerPager" id="pager1">
		</xp:pager>
	<xp:viewTitle xp:key="viewTitle" id="viewTitle1" value="View Title"></xp:viewTitle>
	<xp:pager partialRefresh="true" layout="Previous Group Next"
		xp:key="footerPager" id="pager2">
		</xp:pager>
</xp:this.facets>
顯示標籤上,內容底下的下列方框會影響資料類型內容,其影響如下:
  • 在標頭顯示分頁器(依預設為選取)會產生 headerPager 鍵的 pager 控制項。 如果清除此項目,便不會產生資料類型區域。
  • 在標底顯示分頁器(依預設為清除)會產生 footerPager 鍵的 pager 控制項。
  • 顯示標題(依預設為清除)會產生 viewTitle 控制項。
用法
「視圖」控制項基本上會顯示 Domino 視圖。在「設計」模式中,您建立 viewPanel 控制項時,會在對話框中提供連結的 Domino 視圖名稱,以及其他資訊。 建立之後,您可以按一下滑鼠右鍵或使用功能表,新增插入、附加和刪除直欄。

當您將視圖配置為顯示資料的種類時,使用者便能在執行時期展開及收合(切換)這些種類。依預設會收合種類。當使用者切換種類時,XPage 會重新載入,以便 XPage 上的資料保持與伺服器同步。

對於分頁,收合的種類算作一列。 例如,若您配置了會導覽五列的分頁器,而視圖中有五個收合的資料列,則每當使用者按一下向後與向前按鈕時,分頁器便會計算五個種類,而非個別的隱藏列。 此外,當使用者向後與向前導覽資料頁面時,種類的切換狀態將持續不變。

範例
這個「視圖畫面」控制項有兩欄。
<xp:viewPanel rows="30" id="viewPanel1">
	<xp:this.facets>
		<xp:pager partialRefresh="true" layout="Previous Group Next"
			xp:key="headerPager" id="pager1">
		</xp:pager>
	</xp:this.facets>
	<xp:this.data>
		<xp:dominoView var="view2" viewName="main"></xp:dominoView>
	</xp:this.data>
	<xp:viewColumn columnName="subject" id="viewColumn1">
		<xp:viewColumnHeader value="subject" id="viewColumnHeader1"></xp:viewColumnHeader>
	</xp:viewColumn>
	<xp:viewColumn columnName="fruit" id="viewColumn2">
		<xp:viewColumnHeader value="fruit" id="viewColumnHeader2"></xp:viewColumnHeader>
	</xp:viewColumn>
</xp:viewPanel>

內容參照

這裡指定的是 XPage 內容。

accept - 接受

列出已上傳檔案的可接受 MIME 類型。

種類
基本
語法
accept="text/html|image/png|image/gif|video/mpeg|text/css|audio/basic"
用法
在「設計」模式中,按一下所有內容,並尋找基本底下的 accept

預設可接受所有 MIME 類型。

accesskey - 快速鍵

指定與 ALT 鍵一起使用的字元,將焦點放在控制項上。

種類
協助工具
語法
accesskey="key"
用法
在「設計」模式中,按一下內容底下的頂端標籤並尋找快速鍵,或按一下所有內容,並尋找協助工具底下的 accesskey

若提供鍵盤組合,對於想使用鍵盤來進行導覽的使用者,以及仰賴 HTML accesskey 屬性的視障使用者而言會很有幫助。若想瞭解快速鍵的限制,請參閱瀏覽器的說明文件。

範例
使用者鍵入 ALT > b 時,會選取此「編輯框」控制項。
<xp:inputText id="inputText1" value="#{document1.subject}" accesskey="b"></xp:inputText>

acl - 存取控制清單

定義頁面或控制項的存取控制清單。

種類
資料
語法
<xp:this.acl>
	<xp:acl loaded="true|false">
		<xp:this.entries>
			<xp:aclEntry attributes fullName="name" name="name"
				right="NOACCESS|READER|EDITOR"
				type="USER|GROUP|ROLE|ORGUNIT|ORGROLE|DEFAULT|ANONYMOUS"
				loaded="true|false">
			</xp:aclEntry>
			...
		</xp:this.entries>
	</xp:acl>
</xp:this.acl>
用法
在「設計」模式中,確保焦點位在頁面或儲存器控制項上。按一下所有內容,並尋找資料底下的 acl

此內容會套用至頁面及部分儲存器控制項。

包含的內容
loaded="true|false"
是否在載入控制項時建立標籤實例。
fullName="name"
如果 name 不是完整名稱,請指定使用者完整名稱。
name="name"
指定項目的名稱。
right="NOACCESS|READER|EDITOR"
定義項目的存取權。
type="USER|GROUP|ROLE|ORGUNIT|ORGROLE|DEFAULT|ANONYMOUS"
定義項目的類型。
loaded="true|false"
是否在載入項目時建立標籤實例。
範例
此畫面定義含有兩個項目的 ACL。
<xp:panel style="height:60.0px;width:408.0px">
	<xp:this.data>
		<xp:dominoDocument var="document2" formName="form1"></xp:dominoDocument>
	</xp:this.data>
	<xp:this.acl>
		<xp:acl>
			<xp:this.entries>
				<xp:aclEntry name="CN=Mary Moffit/O=IBM"
					right="EDITOR" type="USER">
				</xp:aclEntry></xp:aclEntry>
				<xp:aclEntry name="John Jordon/O=IBM" right="READER"
					type="USER">
				</xp:aclEntry>
			</xp:this.entries>
		</xp:acl>
	</xp:this.acl>
	<xp:inputText id="inputText2" value="#{document2.phoneday}"></xp:inputText>
		day phone	<xp:br></xp:br>
	<xp:inputText id="inputText3" value="#{document2.phonenight}"></xp:inputText>
		night phone
</xp:panel>

action - 應用程式動作

指定要在使用者啟動控制項時呼叫的 MethodBinding 應用程式動作。

種類
事件
語法
action="action"
用法
動作值必須是未採用任何參數並傳回字串的公用方法。此字串會傳遞給此應用程式的 NavigationHandler

actionListener - 動作接聽器

指定要在使用者啟動控制項時通知的 MethodBinding 動作接聽器。

種類
事件
語法
actionListener="listener"
用法
actionListener 值必須是採用 ActionEvent 參數並傳回 void 的公用方法。

actionListeners - 動作接聽器清單

指定動作接聽器的集合。

種類
事件
語法
<xp:this.actionListeners>
	<xp:actionListener type="javaclass"></xp:actionListener>
	...
</xp:this.actionListeners>

afterPageLoad - 頁面載入後方法連結

在頁面載入後啟動事件處理程式。

種類
事件
語法
<xp:view><xp:this.afterPageLoad attributes>content</xp:afterPageLoad></xp:view>
用法
如需詳細的事件處理程式語法,請參閱 eventHandler - 事件處理程式(內容)

afterRenderResponse - 呈現回應後方法連結

在 JSF 循環的「呈現回應」階段後啟動事件處理程式。

種類
事件
語法
<xp:view><xp:this.afterRenderResponse attributes>content</xp:afterRenderResponse></xp:view>
用法
如需詳細的事件處理程式語法,請參閱 eventHandler - 事件處理程式(內容)

afterRestoreView - 還原視圖後方法連結

在 JSF 循環的「還原視圖」階段後啟動事件處理程式。

種類
事件
語法
<xp:view><xp:this.afterRestoreView attributes>content</xp:afterRestoreView></xp:view>
用法
如需詳細的事件處理程式語法,請參閱 eventHandler - 事件處理程式(內容)

align - 對齊方式

對齊儲存器中的內容。

種類
格式
語法
align="left|center|right"
用法
在「設計」模式中,按一下所有內容,並尋找格式底下的 align

allowDelete - 允許檔案刪除

是否允許使用者刪除附加檔案。

種類
基本
語法
allowDelete="true|false"
用法
在「設計」模式中,按一下所有內容,並尋找基本底下的 allowDelete

依預設,會載入控制項。

alt - 替代文字

指定要在無法呈現影像時顯示的文字。

種類
協助工具
語法
alt="text"
用法
在「設計」模式中,按一下內容底下的頂端標籤並尋找替代文字,或按一下所有內容並尋找協助工具底下的 alt

alwaysCalculateLast - 一律計算最後一個

一律計算儲存器中的最後一份文件。

種類
基本
語法
alwaysCalculateLast="true|false"
用法
在「設計」模式中,按一下所有內容,並尋找基本底下的 alwaysCalculateLast

將此項目設為 true 可能會影響效能。

attrs - 屬性清單

將屬性新增至控制項。只在無法使用屬性作為內容的情況下,才使用此內容。

種類
基本
語法
<xp:this.attrs>
	<xp:attr attributename="attributevalue" ...</xp:attr>
	...
</xp:this.attrs>
用法
在「設計」模式中,按一下所有內容,並尋找基本底下的 attrs
屬性
您至少應該設定 namevalue
表 88. 屬性
屬性 說明
loaded="true|false"
在載入(預設)或未載入頁面時,建立屬性。
minimized="true|false"
將 HTML 中的屬性縮至最小,只呈現名稱但不呈現值,或不呈現(預設)。
name="name"
有效 HTML 屬性的名稱。
rendered="true|false"
呈現(預設)或不呈現屬性。
uri="true|false"
value 視為 URI 或非 URI(預設)。 沒有通訊協定(例如,http://)的 URI 值相對於現行應用程式。URL 編碼生效,所以請對空間使用 %20
value="value"
屬性的值。如果 minimized 為 true,則不呈現。
用法
此內容允許併入沒有控制項內容存在的 HTML 屬性。請不要對可以透過控制項內容規格來產生的屬性使用 attrs
範例
此「編輯框」會新增 autofocus 屬性,但不會呈現其值。
<xp:inputText id="inputText3">
	<xp:this.attrs>
		<xp:attr name="autofocus" value="autofocus" minimized="true"></xp:attr>
	</xp:this.attrs>
</xp:inputText>
類型為 email 的「編輯框」會新增 placeholder 屬性。
<xp:inputText id="inputText3" type="email">
	<xp:this.attrs>
		<xp:attr name="placeholder" value="a@b.com"></xp:attr>
	</xp:this.attrs>
</xp:inputText>

autocomplete - 自動完成

啟用或停用用於記住及自動完成使用者輸入的瀏覽器功能。

種類
基本
語法
autocomplete="on|off"
用法
在「設計」模式中,按一下所有內容,並尋找基本底下的 autocomplete

依預設,會啟用自動完成。

範例
此「編輯框」控制項會停用自動完成。
<xp:inputText id="inputText1" value="#{document1.subject}"
	title="Subject edit box" autocomplete="off">
</xp:inputText>

beforePageLoad - 頁面載入前方法連結

在頁面載入前啟動事件處理程式。

種類
事件
語法
<xp:view><xp:this.beforePageLoad attributes>content</xp:beforePageLoad></xp:view>
用法
如需詳細的事件處理程式語法,請參閱 eventHandler - 事件處理程式(內容)

beforeRenderResponse - 呈現回應前方法連結

在 JSF 循環的「呈現回應」階段前啟動事件處理程式。

種類
事件
語法
<xp:view><xp:this.beforeRenderResponse attributes>content</xp:beforeRenderResponse></xp:view>
用法
如需詳細的事件處理程式語法,請參閱 eventHandler - 事件處理程式(內容)

bgcolor - 背景顏色

指定背景顏色。

種類
格式
語法
bgcolor="color"
用法
在「設計」模式中,按一下所有內容,並尋找格式底下的 bgcolor

binding - 控制項連結

指定將控制項連結至控制項內容的表示式。

種類
基本
語法
binding="expression"
用法
在「設計」模式中,按一下所有內容,並尋找基本底下的 binding
範例

border - 表格邊框

指定表格或控制項群組周圍的邊框寬度(以像素為單位)。

種類
格式
語法
border="n"
用法
在「設計」模式中,按一下所有內容,並尋找格式底下的 border

控制項群組預設不含邊框 (border="0")。

範例
此「勾選框群組」使用 16 像素的邊框。
<xp:checkBoxGroup id="checkBoxGroup1" value="#{document1.fruit}"
	border="16">
	<xp:selectItems>
		<xp:this.value>
			<![CDATA[#{javascript:var list = @DbColumn("", "fruits", 1);
			return @Explode(list,",")}]]>
		</xp:this.value>
	</xp:selectItems>
</xp:checkBoxGroup>

caption - 標題

在儲存器控制項上方顯示標題。

種類
協助工具
語法
caption="caption"
用法
在「設計」模式中,按一下所有內容,並尋找協助工具底下的 caption

在執行時期,當使用者將游標移至控制項上方時,標題會顯示在方框中。

範例
此表格具有標題。
<xp:table caption="Test caption">>
	<xp:tr>
		<xp:td>
			<xp:label id="label1" value="row 1, column 1"></xp:label>
		</xp:td>
		<xp:td>
			<xp:label value="row 1, column 2" id="label3"></xp:label>
		</xp:td>
	</xp:tr>
	<xp:tr>
		<xp:td>
			<xp:label value="row 2, column 1" id="label2"></xp:label>
		</xp:td>
		<xp:td>
			<xp:label value="row 2, column 2" id="label4"></xp:label>
		</xp:td>
	</xp:tr>
</xp:table>

captionStyleClass - 標題 CSS 樣式類別

指定要套用至表格標題的 CSS 類別清單。

種類
樣式
語法
captionStyleClass="name ..."
其中 name 識別類別。請用空格隔開多個類別名稱。
用法
在「設計」模式中,按一下所有內容,並尋找樣式底下的 captionStyleClass

cellpadding - 資料格行距

指定表格資料格邊框與其內容之間的空間(以像素為單位)。

種類
格式
語法
cellpadding="n"
用法
在「設計」模式中,按一下所有內容,並尋找格式底下的 cellpadding

控制項群組預設不含邊框 (border="0")。

範例
此「表格」控制項指定資料格間距及行距。
<xp:table cellspacing="16" cellpadding="16">
	<xp:tr>
		<xp:td>
			<xp:label id="label1" value="row 1, column 1"></xp:label>
		</xp:td>
		<xp:td>
			<xp:label value="row 1, column 2" id="label3"></xp:label>
		</xp:td>
	</xp:tr>
	<xp:tr>
		<xp:td>
			<xp:label value="row 2, column 1" id="label2"></xp:label>
		</xp:td>
		<xp:td>
			<xp:label value="row 2, column 2" id="label4"></xp:label>
		</xp:td>
	</xp:tr>
</xp:table>

cellspacing - 資料格間距

指定表格邊框與資料格之間以及資料格之間的空間(以像素為單位)。

種類
格式
語法
cellspacing="n"
用法
在「設計」模式中,按一下所有內容,並尋找格式底下的 cellspacing

控制項群組預設不含邊框 (border="0")。

範例
此「表格」控制項指定資料格間距。
<xp:table cellspacing="16">
	<xp:tr>
		<xp:td>
			<xp:label id="label1" value="row 1, column 1"></xp:label>
		</xp:td>
		<xp:td>
			<xp:label value="row 1, column 2" id="label3"></xp:label>
		</xp:td>
	</xp:tr>
	<xp:tr>
		<xp:td>
			<xp:label value="row 2, column 1" id="label2"></xp:label>
		</xp:td>
		<xp:td>
			<xp:label value="row 2, column 2" id="label4"></xp:label>
		</xp:td>
	</xp:tr>
</xp:table>

charset - 字集

指定所擷取資源的字元編碼。

種類
基本
語法
charset="encoding"
用法
在「設計」模式中,按一下所有內容,並尋找基本底下的 charset

checkedValue - 勾選時的值

指定已連結至已選取(相對於已清除)控制項的資料元素值。

種類
資料
語法
checkedValue="value"
用法
在「設計」模式中,按一下內容底下的資料並尋找勾選時的值,或按一下所有內容,並尋找資料底下的 checkedValue

此內容會套用至可以選取或清除的控制項(如勾選框),並預設為字串 true

範例
此「勾選框」控制項會根據選取(預設)還是清除方框來指派資料值。
<xp:checkBox id="checkBox2" text="Use user name instead of Anonymous"
	defaultChecked="true" value="#{document1.loginname}" uncheckedValue="Anonymous"
	checkedValue="#{javascript:session.getUserName()}">
</xp:checkBox>

collapsedImage - 已收合的小節影像

指定已收合的小節影像。

種類
基本
語法
collapsedImage="pathname"
用法
在「設計」模式中,按一下所有內容,並尋找基本底下的 collapsedImage

針對應用程式資源,影像的路徑是相對於應用程式(例如,/abook.gif)。

cols - 直欄

指定要顯示的直欄數。

種類
基本
語法
cols="n"
用法
在「設計」模式中,按一下內容底下的頂端標籤並尋找直欄,或按一下所有內容,並尋找基本底下的 cols

style 內容的 width 屬性會置換此值。

範例
此「多行編輯框」控制項指定直欄及橫列數。
<xp:inputTextarea id="inputTextarea1" value="#{document1.description}"
	cols="64" rows="8">
</xp:inputTextarea>

colspan - 直欄跨距

指定現行資料格所跨的直欄數。

種類
基本
語法
colspan="n"
其中 n 是直欄數,而 0 表示跨直欄群組中的所有直欄。
用法
在「設計」模式中,按一下所有內容,並尋找格式底下的 colspan

預設值是 1。

columnClasses - 直欄 CSS 類別

指定要套用至視圖或表格直欄的 CSS 類別清單。

種類
樣式
語法
columnClasses="name ..."
其中 name 識別類別。請用空格隔開多個名稱。
用法
在「設計」模式中,按一下所有內容,並尋找樣式底下的 columnClasses

columnName - 直欄名稱

指定資料來源中基礎視圖直欄的名稱。

種類
基本
語法
columnName="name"
其中 name 符合資料來源中的直欄名稱。
用法
在「設計」模式中,按一下內容底下的資料標籤並尋找檢視直欄,或按一下所有內容,並尋找基本底下的 columnName

在執行時期,母項視圖直欄會呈現資料來源中基礎直欄的資料。

如果指定的值不符合資料來源中的直欄名稱,則會導致在執行時期發生錯誤。

範例
此「視圖」控制項根據資料來源中的 subjectfruit 直欄,包含兩個直欄。
<xp:viewPanel rows="30" id="viewPanel1">
	<xp:this.facets>
		<xp:pager partialRefresh="true" layout="Previous Group Next"
			xp:key="headerPager" id="pager1">
		</xp:pager>
	</xp:this.facets>
	<xp:this.data>
		<xp:dominoView var="view2" viewName="main"></xp:dominoView>
	</xp:this.data>
	<xp:viewColumn columnName="subject" id="viewColumn1">
		<xp:viewColumnHeader value="subject" id="viewColumnHeader1"></xp:viewColumnHeader>
	</xp:viewColumn>
	<xp:viewColumn columnName="fruit" id="viewColumn2">
		<xp:viewColumnHeader value="fruit" id="viewColumnHeader2"></xp:viewColumnHeader>
	</xp:viewColumn>
</xp:viewPanel>

componentId - 控制項 ID

指定已併入頁面上的控制項 ID。

種類
基本
語法
componentId="identifier"
用法
在「設計」模式中,按一下所有內容,並尋找基本底下的 componentId

如果此內容是空的,則包括整個頁面。

computeDocument - 計算文件方法連結

在計算或重新計算文件時,啟動事件處理程式。

種類
事件
語法
<xp:dominoDocument><xp:this.computeDocument attributes>content</xp:computeDocument></xp:dominoDocument>
用法
如需詳細的事件處理程式語法,請參閱 eventHandler - 事件處理程式(內容)

containerStyleClass - CSS 儲存器樣式類別

指定要在呈現儲存器控制項時套用的 CSS 類別清單。

種類
樣式
語法
containerStyleClass="name ..."
其中 name 識別類別。請用空格隔開多個名稱。
用法
在「設計」模式中,按一下所有內容,並尋找樣式底下的 containerStyleClass

這樣會呈現 class= 設為這些值的含括跨距。

contentStyleClass - 標籤內容類別

指定要套用至沒有樣式的標籤內容的 CSS 類別清單。

種類
樣式
語法
contentStyleClass="name ..."
其中 name 識別類別。請用空格隔開多個名稱。
用法
在「設計」模式中,按一下所有內容,並尋找樣式底下的 contentStyleClass

這樣會呈現 class= 設為這些值的含括跨距。

contentType - 內容類型

指定內容類型、文字或 HTML。

種類
格式
語法
contentType="text|html"
用法
在「設計」模式中,按一下所有內容,並尋找格式底下的 contentType

預設內容類型是 text

範例
此「計算欄位」控制項使用 HTML 作為內容類型。
<xp:text escape="true" id="computedField1"
	value="#{javascript:return requestScope.number1 + requestScope.number2}"
	contentType="html">
	<xp:this.converter>
		<xp:convertNumber type="number"></xp:convertNumber>
	</xp:this.converter>
</xp:text>

converter - 轉換器

定義非字串的資料格式。

種類
資料
語法
<xp:this.converter>converter</xp:this.converter>
其中 converter 是下列其中一項:
<xp:convertBoolean attributes>content</xp:convertBoolean>
<xp:convertNumber attributes>content</xp:convertNumber>
<xp:convertDateTime attributes>content</xp:convertDateTime>
<xp:convertMask attributes>content</xp:convertMask>
<xp:customConverter></xp:customConverter>
用法
在「設計」模式中,按一下內容底下的資料標籤,並尋找顯示類型,或按一下所有內容,並尋找資料底下的 converter
包含的內容
轉換器具有下列內容。
表 89. 用於布林轉換的已包含內容
內容 說明
loaded="true|false"
是否在頁面載入時建立標籤實例。預設值為 true。
message="message text"
如果為 strict="true",以及使用者輸入非 truefalse 的值時,呈現給使用者的訊息。訊息會在資料提交時間出現。
strict="true|false"
如果為 true,則只接受輸入值為 truefalse。依預設,任何非 true 的輸入值皆視為 false。
表 90. 用於數值轉換的已包含內容
內容 說明
currencyCode="option"
ISO 4712 貨幣代碼(例如,USD)。
currencySymbol="symbol"
貨幣符號。
groupingUsed="true|false"
是否使用「分組分隔字元」。預設值為 true。
integerOnly="true|false"
是否將值截斷為整數。預設值為 false。
loaded="true|false"
是否在頁面載入時建立標籤實例。預設值為 true。
locale="option"
語言及國碼(例如,en_US)。
maxFractionDigits="n"
數字小數部分的位數上限。
maxIntegerDigits="n"
數字整數部分的位數上限。
minFractionDigits="n"
數字小數部分的位數下限。
minIntegerDigits="n"
數字整數部分的位數下限。
pattern="pattern"
用於格式化已轉換數值的使用者定義型樣。
type="number|currency|percent"
用於轉換的格式化。預設值為 number
表 91. 用於布日期/時間轉換的已包含內容
內容 說明
dateStyle="default|short|medium|long|full"
日期值的預先定義格式。
ignoreUserTimeZone="true|false"
是否忽略使用者時區,而優先採用平台時區。
loaded="true|false"
是否在頁面載入時建立標籤實例。預設值為 true。
locale="option"
語言及國碼(例如,en_US)。
pattern="pattern"
用於格式化已轉換日期時間值的使用者定義型樣。
timeStyle="default|short|medium|long|full"
時間值的預先定義格式。
timeZone="option"
已格式化值的時區(例如,US/Eastern)。
type="date|time|both"
要格式化的部分。預設值為 date
表 92. 用於遮罩轉換的已包含內容
內容 說明
asis="true|false"
是否移除非遮罩輸入的資料。預設值為 false。
loaded="true|false"
是否在頁面載入時建立標籤實例。預設值為 true。
mask="mask"
遮罩字元,其中,# 是數字位數位置保留元,而 ? 是字母位置保留元。
範例
此「編輯框」會將其相關聯資料轉換為數字。
<xp:inputText id="inputText1" value="#{document1.quantity}">
	<xp:this.converter>
		<xp:convertNumber type="number"></xp:convertNumber>
	</xp:this.converter>
</xp:inputText>
此「編輯框」會將其相關聯資料轉換為布林值。
<xp:inputText id="inputText1" value="#{document1.ispublic}">
	<xp:this.converter>
		<xp:convertBoolean" strict="true" message="Enter true or false for ispublic"></xp:convertBoolean>
	</xp:this.converter>
</xp:inputText>

coords - 座標

指定畫面上用於用戶端影像對映的熱點位置及形狀。

種類
格式
語法
coords="coordinates"
用法
在「設計」模式中,按一下所有內容,並尋找格式底下的 coords

預設內容類型是 text

createdStyleClass - 已建立樣式類別

指定要套用至建立日期直欄的 CSS 類別清單。

種類
樣式
語法
createdStyleClass="name ..."
其中 name 識別類別。請用空格隔開多個類別名稱。
用法
在「設計」模式中,按一下所有內容,並尋找樣式底下的 createdStyleClass

createdTitle - 建立日期的標題

指定建立日期標頭的替代標題。

種類
基本
語法
createdTitle="title"
用法
在「設計」模式中,按一下所有內容,並尋找基本底下的 createdTitle

預設標題是 Date

createdValue - 已建立值連結

置換建立日期的值。

種類
基本
語法
createdValue="#{javascript:textofscript}"
其中,伺服器 Script 會傳回類型為 Date 的值。
用法
在「設計」模式中,按一下所有內容,並尋找基本底下的 createdValue

預設值是實際建立日期。

createForm - 建立表單旗標

是否建立 form 元素。

種類
基本
語法
createForm="true|false"
其中 true 會強制建立表單,而 false 會暫停建立表單。
用法
在「設計」模式中,按一下所有內容,並尋找基本底下的 createForm

您可以在「原始碼」編輯器中建立自訂 form 元素。請參閱下列範例,以取得預設表單規格。

依預設(如果未指定此內容),表單不存在時會建立表單,表單已存在時則不會建立表單。

範例
此 XPage 已暫停建立表單。
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" createForm="false">
	<xp:this.data>
		<xp:dominoDocument var="document1" formName="form1"></xp:dominoDocument>
	</xp:this.data>
	<xp:inputText id="inputText1" value="#{document1.subject}"
		style="font-weight:bold">
	</xp:inputText>
	<xp:button value="submit" id="button1" style="font-weight:bold">
		<xp:eventHandler event="onclick" submit="true"
			refreshMode="complete" immediate="false" save="true">
						</xp:eventHandler>
	</xp:button>
</xp:view>
它會產生下列 XML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<title></title>
<script type="text/javascript" src="/domjs/dojo-1.3.2/dojo/dojo.js" djConfig="locale: 'en-us'"></script>
<script type="text/javascript" src="/domjs/dojo-1.3.2/ibm/xsp/widget/layout/xspClientDojo.js"></script>
<link rel="stylesheet" type="text/css" href="/domjava/xsp/theme/webstandard/xsp.css">
<link rel="stylesheet" type="text/css" href="/domjava/xsp/theme/webstandard/xspLTR.css">
<link rel="stylesheet" type="text/css" href="/domjava/xsp/theme/webstandard/xspFF.css">
</head>
<body class="xspView tundra">
<input type="text" id="view:inputText1" name="view:inputText1" style="font-weight:bold" class="xspInputFieldEditBox"><button style="font-weight:bold" class="xspButtonSubmit" type="button" name="view:button1" id="view:button1">submit</button><script type="text/javascript">

XSP.addOnLoad(function() {
XSP.attachEvent("view:_id2", "view:button1", "onclick", null, true, false);
}); 

</script>

</body>
</html>
如果建立(而不是暫停建立)表單,則 XML 如下:
<html lang="en">
<head>
<title></title>
<script type="text/javascript" src="/domjs/dojo-1.3.2/dojo/dojo.js" djConfig="locale: 'en-us'"></script>
<script type="text/javascript" src="/domjs/dojo-1.3.2/ibm/xsp/widget/layout/xspClientDojo.js"></script>
<link rel="stylesheet" type="text/css" href="/domjava/xsp/theme/webstandard/xsp.css">
<link rel="stylesheet" type="text/css" href="/domjava/xsp/theme/webstandard/xspLTR.css">
<link rel="stylesheet" type="text/css" href="/domjava/xsp/theme/webstandard/xspFF.css">
</head>
<body class="xspView tundra">
<form id="view:_id1" method="post" action="/foo.nsf/xpage2.xsp" class="xspForm" enctype="multipart/form-data">
<input type="text" id="view:_id1:inputText1" name="view:_id1:inputText1" style="font-weight:bold" class="xspInputFieldEditBox"><button style="font-weight:bold" class="xspButtonSubmit" type="button" name="view:_id1:button1" id="view:_id1:button1">submit</button>

<input type="hidden" name="$$viewid" id="view:_id1__VUID" value="!cidukjk9dq!">
<input type="hidden" name="$$xspsubmitid">
<input type="hidden" name="$$xspexecid">
<input type="hidden" name="$$xspsubmitvalue">
<input type="hidden" name="$$xspsubmitscroll">
<input type="hidden" name="view:_id1" value="view:_id1"></form>
<script type="text/javascript">

XSP.addOnLoad(function() {
XSP.attachEvent("view:_id1:_id2", "view:_id1:button1", "onclick", null, true, false);
}); 

</script>
</body>
</html>

currentStyleClass - 現行頁面樣式類別

指定要套用至沒有樣式的現行頁面控制項的 CSS 類別清單。

種類
樣式
語法
currentStyleClass="name ..."
其中 name 識別類別。請用空格隔開多個名稱。
用法
在「設計」模式中,按一下所有內容,並尋找樣式底下的 currentStyleClass

這樣會呈現 class= 設為這些值的含括跨距。

data - 資料來源

定義頁面或控制項的資料來源。

種類
資料
語法
<xp:this.data>
	<xp:dominoDocument attributes>content</xp:dominoDocument> <!--for document source-->
	<xp:dominoView attributes>content</xp:dominoView> <!--for view source-->
	...
</xp:this.data
此內容會套用至頁面及部分儲存器控制項,而且可以包含任意數目的 dominoDocumentdominoView 元素。
用法
在「設計」模式中,確保焦點位在頁面或儲存器控制項上。按一下內容底下的資料標籤,或按一下所有內容,並尋找資料底下的 data。 您可以新增、編輯或移除類型為 dominoDocumentdominoView 的資料來源。
包含的內容
資料來源具有下列內容。
action="editDocument|openDocument"
(dominoDocument) 指定在開啟及提交頁面時處理資料來源的動作。預設為在提交頁面時建立新的文件。選項 editDocumentopenDocument 會導致頁面在開啟時從資料來源移入。選項 editDocument 會導致文件在頁面提交時遭到取代。
allowDeletedDocs="true|false"
(dominoDocument) 容許或禁止開啟軟性刪除的文件。
categoryFilter="category"
(dominoView) 將視圖內容限制為一或多種種類(陣列中)。
computeDocument (dominoDocument) 在計算或重新計算文件時,啟動事件處理程式。
computeWithForm="onload|onsave|both"
(dominoDocument) 在載入及(或)儲存文件時執行表單驗證 Script。
concurrencyMode="createResponse|fail|exception|force"
(dominoDocument) 指定在多位使用者同時更新文件時處理並行更新。
databaseName="name"
指定包含資料來源的資料庫,其中 name 是與 Notes 資料目錄相對的資料庫的檔名。預設為現行資料庫。如果資料庫不是本端資料庫,則此名稱可以包括伺服器。此名稱可以是抄本 ID。
dataCache="full|id|nodata"
(dominoView) 指定如何在相同頁面的要求之間快取資料。
documentId="#{javascript:database.script}"
(dominoDocument) 資料來源的通用 ID,其中 script 會傳回通用 ID。如果想要在頁面載入時進行計算,請用 $ 替代 #。您也可以指定靜態值。
expandLevel="n"
(dominoView) 階層式視圖的展開層次。
formName="name"
(dominoDocument) 使資料來源與 Domino 表單產生關聯,以儲存及擷取文件。
ignoreRequestParams="true|false"
忽略或辨識要求對映中所放置的參數。
keys="key(s)"
(dominoView) 指定用於過濾視圖的索引鍵。每一個索引鍵(使用多個索引鍵的陣列)都會依序對應於視圖中的已排序直欄。
keysExactMatch="true|false"
(dominoView) 需要索引鍵完全符合,或容許局部相符。
loaded="true|false"
是否在載入頁面時建立標籤實例。
parentId="#{javascript:database.script}"
資料來源母項的通用 ID,其中 script 會傳回通用 ID。如果想要在頁面載入時進行計算,請用 $ 替代 #。您也可以指定靜態值。
postNewDocument (dominoDocument) 在建立文件後啟動事件處理程式。
postOpenDocument (dominoDocument) 在開啟文件後啟動事件處理程式。
postOpenView (dominoView) 在開啟視圖後啟動事件處理程式。
postSaveDocument (dominoDocument) 在儲存文件後啟動事件處理程式。
queryNewDocument (dominoDocument) 在建立文件前啟動事件處理程式。
queryOpenDocument (dominoDocument) 在開啟文件前啟動事件處理程式。
queryOpenView (dominoView) 在開啟視圖前啟動事件處理程式。
querySaveDocument (dominoDocument) 在儲存視圖前啟動事件處理程式。
requestParamPrefix="prefix"
指定要求參數的字首。
saveLinksAs="UseWeb|UseNotes|UseNotesAndWeb"
(dominoDocument) 指定鏈結的處理。
scope="application|session|view|request"
定義資料來源的範圍。
search="query"
(dominoView) 指定搜尋查詢以過濾視圖。
searchMaxDocs="n"
(dominoView) 指定要併入視圖中且由搜尋來過濾的文件數目上限。
sortColumn="title"
(dominoView) 指定要作為視圖排序依據的直欄標題。在視圖設計中,此直欄必須是可排序的。
sortOrder="n"
(dominoView) 指定直欄的對照順序。
startKeys="key(s)"
(dominoView) 指定要顯示在已排序視圖中第一列的索引鍵。每一個索引鍵(使用多個索引鍵的陣列)都會依序對應於視圖中的已排序直欄。
var="name"
用於參照資料來源的廣域變數。如果是文件,則預設值為 document1document2 等等,而如果是視圖,則為 view1view2 等等。
viewName="name"
(dominoView) 使資料來源與 Domino 視圖產生關聯。
webQuerySaveAgent="nameofagent"
(dominoDocument) 在套用欄位值之後,但在儲存文件之前,呼叫代理程式。 代理程式可透過 LotusScript NotesAgentContext 類別中的 DocumentContext,或 Java AgentContext 類別中的 getDocumentContext,來存取記憶體內文件。 代理程式可以附加名稱為 SaveOptions 且值為 0(零)的項目,來取消儲存作業。
範例
此頁面定義一個與 form1 相關聯的資料來源。
<xp:this.data>
	<xp:dominoDocument var="document1" formName="form1"></xp:dominoDocument>
</xp:this.data>
此頁面定義三個資料來源,其中兩個與表單相關聯,一個則與視圖相關聯。
<xp:this.data>
	<xp:dominoDocument var="document1" formName="form1"></xp:dominoDocument>
	<xp:dominoView var="view1" viewName="view1"></xp:dominoView>
	<xp:dominoDocument var="document2" formName="form2"></xp:dominoDocument>
</xp:this.data>

dataContexts - 控制資料環境定義

定義資料環境定義。

種類
資料
語法
<xp:this.dataContexts>
	<xp:dataContext indexVar="name" loaded="true|false" rowIndex="n"
		value="value" var="name">
	</xp:dataContext>
	...
</xp:this.dataContexts>
此內容會套用至頁面及部分儲存器控制項。
用法
在「設計」模式中,確保焦點位在頁面或儲存器控制項上。按一下所有內容,並尋找資料底下的 dataContexts
包含的內容
indexVar="name"
指定可看到橫列索引的要求範圍變數名稱。
loaded="true|false"
是否在載入頁面時建立標籤實例。
rowIndex="n"
指定現行橫列的索引,其中 0 是第一列。
value="value"
指定資料環境定義的值。
var="name"
指定在其中顯現資料環境定義的要求範圍變數名稱。

dataTableStyle - 資料表 CSS 樣式

指定要套用至視圖資料表的 CSS 樣式清單。

種類
樣式
語法
dataTableStyle="name ..."
其中 name 識別樣式。請用空格隔開多個名稱。
用法
在「設計」模式中,按一下所有內容,並尋找樣式底下的 dataTableStyle

dataTableStyleClass - 資料表 CSS 樣式類別

指定要套用至視圖資料表的 CSS 樣式類別清單。

種類
樣式
語法
dataTableStyleClass="name ..."
其中 name 識別樣式類別。請用空格隔開多個名稱。
用法
在「設計」模式中,按一下所有內容,並尋找樣式底下的 dataTableStyleClass

defaultChecked - 依預設勾選

指定一開始是選取還是清除控制項。

種類
基本
語法
defaultChecked="true|false"
用法
在「設計」模式中,按一下內容底下的頂端標籤,並尋找依預設勾選,或按一下所有內容,並尋找資料底下的 defaultChecked

此內容會套用至可以選取或清除的控制項(如勾選框)。依預設,此內容為 false

範例
此「勾選框」控制項會根據選取(預設)還是清除方框來指派資料值。
<xp:checkBox id="checkBox2" text="Use user name instead of Anonymous"
	defaultChecked="true" value="#{document1.loginname}" uncheckedValue="Anonymous"
	checkedValue="#{javascript:session.getUserName()}">
</xp:checkBox>

defaultLinkTarget - 鏈結所使用的頁面基本 URL

指定預設在 Notes 用戶端上開啟目標頁面的方式。

種類
基本
語法
defaultLinkTarget="_self|_blank"
其中 _self 會在相同標籤上開啟目標頁面(取代現行頁面),而 _blank 會在新標籤上開啟目標頁面。
用法
在「設計」模式中,按一下內容底下的頂端標籤,並尋找導覽及鏈結的視窗行為(僅適用於 Notes 及用戶端),或按一下所有內容,並尋找基本底下的 defaultLinkTarget

預設值是使用應用程式內容XPage 標籤上指定的應用程式預設值。

defaultSelected - 已選取的預設值

指定一開始是選取還是清除控制項。

種類
基本
語法
defaultSelected="true|false"
用法
在「設計」模式中,按一下內容底下的頂端標籤,並尋找依預設選取,或按一下所有內容,並尋找資料底下的 defaultSelected

此內容會套用至可以選取或清除的控制項(如圓鈕)。依預設,此內容為 false

範例
依預設會選取此「圓鈕」控制項。
<xp:radio text="apples" id="radio1" value="#{document1.fruit}"
	groupName="fruit" selectedValue="apples" defaultSelected="true">
</xp:radio>

defaultValue - 預設值

指定已連結資料元素的起始值。

種類
基本
語法
defaultValue="value"
用法
在「設計」模式中,按一下內容底下的資料,並尋找預設值,或按一下所有內容,並尋找資料底下的 defaultValue

如果您指定的值與資料元素不相容,而且使用者未變更該值,則提交會因類型錯誤而失敗。

範例
此「編輯框」控制項提供預設值。
<xp:inputText id="inputText1" value="#{document1.subject}" defaultValue="my subject">
</xp:inputText>

defer - 延遲 Script

指出 Script 未輸出文件內容(例如,使用 document.write 陳述式)。

種類
基本
語法
defer="true|false"
用法
在「設計」模式中,按一下所有內容,並尋找基本底下的 defer

依預設,此內容為 false

deleteImageTitle - 刪除檔案影像標題

指定當使用者將滑鼠移至刪除圖示上方時出現的文字。

種類
基本
語法
deleteImageTitle="title"
用法
在「設計」模式中,按一下所有內容,並尋找基本底下的 deleteImageTitle

只在 allowDelete 為 true 時,這個內容才適用。

deleteMessage - 刪除檔案訊息

指定驗證是否刪除附加檔案的對話框主體。

種類
基本
語法
deleteMessage="title"
用法
在「設計」模式中,按一下所有內容,並尋找基本底下的 deleteMessage

只在 allowDelete 為 true 時,這個內容才適用。

deleteStyleClass - 刪除樣式類別

指定要套用至刪除直欄的 CSS 類別清單。

種類
樣式
語法
deleteStyleClass="name ..."
其中 name 識別類別。請用空格隔開多個類別名稱。
用法
在「設計」模式中,按一下所有內容,並尋找樣式底下的 deleteStyleClass

dir - 方向

指定未繼承其方向的控制項的文字方向。

種類
基本
語法
dir="ltr|rtl"
其中 ltr 表示從左到右,而 rtl 表示從右到左。
用法
在「設計」模式中,按一下所有內容,並尋找基本底下的 dir
範例
此「輸入框」會將文字方向指定為從右到左。
<xp:inputText id="inputText1" value="#{document1.subject}"
		title="Subject edit box" autocomplete="off" dir="rtl">
</xp:inputText>

disableClientSideValidation - 停用用戶端驗證

停用或啟用用戶端驗證。

種類
資料
語法
disableClientSideValidation="true|false"
用法
在「設計」模式中,按一下所有內容,並尋找資料底下的 disableClientSideValidation

依預設,會啟用用戶端驗證。

範例
此「編輯框」控制項會停用用戶端驗證。
<xp:inputText id="inputText1" value="#{document1.subject}"
	disableClientSideValidation="true">
</xp:inputText>

disabled - 已停用

是否停用控制項。

種類
基本
語法
disabled="true|false"
用法
停用的控制項無法獲得作業焦點,並且無法納入頁面提交中。

在「設計」模式中,按一下內容底下的頂端標籤,並尋找已停用,或按一下所有內容,並尋找基本底下的 disabled

依預設,會啟用控制項。

範例
如果使用者不是 Joe Bar,則會停用此「編輯框」控制項。
<xp:inputText id="inputText1" value="#{document1.subject}">
	<xp:this.disabled>
		<![CDATA[#{javascript:session.getCommonUserName() != "Joe Bar"}]]>
	</xp:this.disabled>
</xp:inputText>

disabledClass - 已停用的標籤類別

指定要套用至已停用清單的標籤的 CSS 樣式類別。

種類
樣式
語法
disabledClass="name"
用法
在「設計」模式中,按一下所有內容,並尋找樣式底下的 disabledClass

disableModifiedFlag - 停用已修改的旗標

停用或啟用控制項的已修改通知。

種類
資料
語法
disableModifiedFlag="true|false"
用法
在「設計」模式中,按一下所有內容,並尋找資料底下的 disableModifiedFlag

依預設,會啟用已修改通知。

範例
此「編輯框」控制項會停用已修改通知。
<xp:inputText id="inputText1" value="#{document1.subject}"
	disableModifiedFlag="true">
</xp:inputText>

disableTheme - 停用佈景主題

是否停用佈景主題。

種類
樣式
語法
disableTheme="true|false"
用法

在「設計」模式中,按一下所有內容,並尋找樣式底下的 disableTheme

依預設,會啟用佈景主題。

如果您計算此值,則會傳回布林值,其中 true 會停用佈景主題。

disableValidators - 停用驗證器

是否停止驗證器的執行。

種類
基本
語法
disableValidators="true|false"
用法
在「設計」模式中,按一下所有內容,並尋找基本底下的 disableValidators

依預設,會啟用驗證器。

處理完整 JSF 生命週期(與 immediate 不同),但不會執行驗證器。轉換器會執行,而且可以產生驗證錯誤。

您可能會將此視為「另存草稿」模式。

displayAs - 將欄位顯示為鏈結

將選取的項目顯示為純文字或基礎文件的鏈結。

種類
基本
語法
displayAs="link|text|hidden"
用法
在「設計」模式中,按一下內容底下的顯示,並尋找顯示直欄值以鏈結顯示此直欄中的值,或按一下所有內容,並尋找基本底下的 displayAs
範例
此「視圖畫面」控制項會將第一欄中的項目視為基礎文件的鏈結。
<xp:viewPanel rows="30" id="viewPanel1" pageName="/xpage1.xsp">
	<xp:this.facets>
		<xp:pager partialRefresh="true" layout="Previous Group Next"
			xp:key="headerPager" id="pager1">
		</xp:pager>
	</xp:this.facets>
	<xp:this.data>
		<xp:dominoView var="view2" viewName="main"></xp:dominoView>
	</xp:this.data>
	<xp:viewColumn columnName="subject" id="viewColumn1" displayAs="link">
		<xp:viewColumnHeader value="subject" id="viewColumnHeader1"></xp:viewColumnHeader>
	</xp:viewColumn>
	<xp:viewColumn columnName="fruit" id="viewColumn2">
		<xp:viewColumnHeader value="fruit" id="viewColumnHeader2"></xp:viewColumnHeader>
	</xp:viewColumn>
</xp:viewPanel>

displayCreated - 顯示建立日期

是否顯示建立日期。

種類
基本
語法
displayCreated="true|false"
用法
在「設計」模式中,按一下內容底下的頂端標籤,並尋找已建立,或按一下所有內容,並尋找基本底下的 displayCreated

依預設,會顯示建立日期。

displayLastModified - 顯示前次修改日期

是否顯示修改日期。

種類
基本
語法
displayLastModified="true|false"
用法
在「設計」模式中,按一下內容底下的頂端標籤,並尋找已修改,或按一下所有內容,並尋找基本底下的 displayLastModified

依預設,會顯示建立日期。

displaySize - 顯示檔案大小

是否顯示檔案大小。

種類
基本
語法
displaySize="true|false"
用法
在「設計」模式中,按一下內容底下的頂端標籤,並尋找大小,或按一下所有內容,並尋找基本底下的 displaySize

依預設,會顯示建立日期。

displayType - 顯示檔案類型

是否顯示檔案類型。

種類
基本
語法
displayType="true|false"
用法
在「設計」模式中,按一下內容底下的頂端標籤,並尋找類型,或按一下所有內容,並尋找基本底下的 displayType

依預設,會顯示建立日期。

dojoArgs - Dojo 引數

指定 Dojo 引數清單以輸出至 Script 標籤。

種類
dojo
語法
dojoArgs="arg,..."
其中,值是以逗點區隔的引數清單。
用法
在「設計」模式中,按一下所有內容,並尋找 dojo 底下的 dojoArgs

請參閱 http://docs.dojocampus.org/dojo/parser#script-tags

dojoAttributes - Dojo 屬性

指定 Dojo 屬性清單。

種類
dojo
語法
<xp:this.dojoAttributes>
	attribute ...
</xp:this.dojoAttributes>
其中 attribute 是:
<xp:dojoAttribute name="name"
	value="value">
</xp:dojoAttribute>
用法
在「設計」模式中,按一下內容底下的 Dojo 標籤,並尋找 Dojo 屬性,或按一下所有內容,並尋找 dojo 底下的 dojoAttributes

您可以指定名稱為 toolbarType 且值為 litemedium(預設)或 full 的屬性,以調整 Rich Text 控制項所呈現的工具列。

您可以指定名稱為 iconClass 且其值指定以空格區隔的類別名稱的屬性,以指定要在呈現圖示時套用的 CSS 類別清單。

範例
此 Rich Text 控制項會呈現完整工具列。
<xp:inputRichText id="inputRichText1" value="#{document1.body}">
	<xp:this.dojoAttributes>
		<xp:dojoAttribute name="toolbarType" value="full"></xp:dojoAttribute>
	</xp:this.dojoAttributes>
</xp:inputRichText>

dojoEvent - Dojo 事件

指定 Dojo 事件或函數名稱以輸出至 Script 標籤。

種類
dojo
語法
dojoEvent="name"
用法
在「設計」模式中,按一下所有內容,並尋找 dojo 底下的 dojoEvent

請參閱 http://docs.dojocampus.org/dojo/parser#script-tags

dojoForm - 建立 Dojo 表單

是否建立頁面的 Dojo form 元素。

種類
dojo
語法
dojoForm="true|false"
用法
在「設計」模式中,按一下內容底下的 Dojo 標籤,並尋找包括頁面上的 Dojo 表單模組,或按一下所有內容,並尋找 dojo 底下的 dojoForm
依預設,頁面表單不是 Dojo。針對 Dojo form 元素產生的 XML 具有下列外觀:
<form id="view:_id1" method="post"
	action="/foo.nsf/xpage2.xsp?SessionID=CIENY5RD3Q" class="xspForm"
	enctype="multipart/form-data"
	dojoType="dijit.form.Form">
非 Dojo 表單缺少 dojoType 屬性。

createForm - 建立表單旗標」屬性不得為 false

範例
此 XPage 指定 Dojo 表單。
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" dojoForm="true">
	<xp:this.data>
		<xp:dominoDocument var="document1" formName="form1"></xp:dominoDocument>
	</xp:this.data>
	<xp:inputText id="inputText1" value="#{document1.subject}"
		style="font-weight:bold">
	</xp:inputText>
	<xp:button value="submit" id="button1" style="font-weight:bold">
		<xp:eventHandler event="onclick" submit="true"
			refreshMode="complete" immediate="false" save="true">
						</xp:eventHandler>
	</xp:button>
</xp:view>

dojoParseOnLoad - 載入時觸發 Dojo 剖析器

是否在載入頁面時啟動 Dojo 剖析器。

種類
dojo
語法
dojoParseOnLoad="true|false"
用法
在「設計」模式中,按一下內容底下的 Dojo 標籤,並尋找載入時觸發 Dojo 剖析,或按一下所有內容,並尋找 dojo 底下的 dojoParseOnLoad

依預設,不會載入 Dojo 剖析器。

範例
此 XPage 指定 Dojo 表單。
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" dojoForm="true" dojoParseOnLoad="true">
	<xp:this.data>
		<xp:dominoDocument var="document1" formName="form1"></xp:dominoDocument>
	</xp:this.data>
	<xp:inputText id="inputText1" value="#{document1.subject}"
		style="font-weight:bold">
	</xp:inputText>
	<xp:button value="submit" id="button1" style="font-weight:bold">
		<xp:eventHandler event="onclick" submit="true"
			refreshMode="complete" immediate="false" save="true">
						</xp:eventHandler>
	</xp:button>
</xp:view>

dojoStoreType - Dojo 儲存庫類型

置換用來建立控制項的資料儲存庫的預設 Dojo 類型。

種類
dojo
語法
dojoStoreType="type"
用法
在「設計」模式中,按一下所有內容,並尋找基本底下的 dojoStoreType

dojoTheme - 使用 Dojo 佈景主題

是否使用 Dojo 佈景主題。

種類
dojo
語法
dojoTheme="true|false"
用法
在「設計」模式中,按一下內容底下的 Dojo 標籤,並尋找使用 Dojo 佈景主題,或按一下所有內容,並尋找 dojo 底下的 dojoTheme

依預設,不會使用 Dojo 佈景主題。

範例
此 XPage 使用 Dojo 佈景主題。
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" dojoForm="true"
	dojoParseOnLoad="true" dojoTheme="true">
	<xp:this.data>
		<xp:dominoDocument var="document1" formName="form1"></xp:dominoDocument>
	</xp:this.data>
	<xp:inputText id="inputText1" value="#{document1.subject}"
		style="font-weight:bold">
	</xp:inputText>
	<xp:button value="submit" id="button1" style="font-weight:bold">
		<xp:eventHandler event="onclick" submit="true"
			refreshMode="complete" immediate="false" save="true">
						</xp:eventHandler>
	</xp:button>
</xp:view>

dojoType - Dojo 類型

指定用於建立控制項的預設 Dojo 類型。

種類
dojo
語法
dojoType="type"
用法
在「設計」模式中,按一下內容底下的 Dojo 標籤,並尋找 Dojo 類型,或按一下所有內容,並尋找 dojo 底下的 dojoType

CKEditor (http://ckeditor.com) 是 Rich Text 控制項的預設 Rich Text 編輯器。若要變更為 Dojo Rich Text 編輯器,請將此內容設為 ibm.xsp.widget.layout.RichText

範例
此 Rich Text 控制項會使用 Dojo 編輯器。
<xp:inputRichText id="inputRichText1"
	value="#{document1.body}" dojoType="ibm.xsp.widget.layout.RichText">
</xp:inputRichText>

enabledClass - 已啟用的標籤類別

指定要套用至已啟用清單的標籤的 CSS 樣式類別。

種類
樣式
語法
enabledClass="name"
用法
在「設計」模式中,按一下所有內容,並尋找樣式底下的 enabledClass

enableModifiedFlag - 啟用已修改的旗標

如果使用者離開該頁面,則容許儲存已修改的頁面。

種類
資料
語法
enableModifiedFlag="true|false"
用法
在「設計」模式中,按一下所有內容,並尋找資料底下的 enableModifiedFlag

如果此內容為 true,而且使用者離開已變更的頁面,則會出現訊息。使用者可以選擇是否儲存變更。

依預設,或者如果此內容為 false,則在使用者離開已變更的頁面時不會儲存變更。

範例
此 XPage 會通知離開已變更頁面的使用者。
<xp:view xmlns:xp="http://www.ibm.com/xsp/core"
	enableModifiedFlag="true">
	<xp:this.data>
		<xp:dominoDocument var="document1" formName="form1"></xp:dominoDocument>
	</xp:this.data>
	<xp:inputText id="inputText1" value="#{document1.subject}"
		style="font-weight:bold">
	</xp:inputText>
	<xp:button value="submit" id="button1" style="font-weight:bold">
		<xp:eventHandler event="onclick" submit="true"
			refreshMode="complete" immediate="false" save="true">
						</xp:eventHandler>
	</xp:button>
</xp:view>

endTabStyleClass - 結束標籤類別

指定要套用至沒有樣式的結束標籤的 CSS 類別清單。

種類
樣式
語法
endTabStyleClass="name ..."
其中 name 識別類別。請用空格隔開多個名稱。
用法
在「設計」模式中,按一下所有內容,並尋找樣式底下的 endTabStyleClass

這樣會呈現 class= 設為這些值的含括跨距。

errorClass - 錯誤類別

指定要套用至嚴重性為 error 的訊息的 CSS 樣式類別清單。

種類
樣式
語法
errorClass="name ..."
其中 name 識別樣式類別。請用空格隔開多個名稱。
用法
在「設計」模式中,按一下所有內容,並尋找樣式底下的 errorClass

errorStyle - 錯誤 CSS 樣式

指定要套用至嚴重性為 error 的訊息的 CSS 樣式清單。

種類
樣式
語法
errorStyle="name ..."
其中 name 識別樣式。請用空格隔開多個名稱。
用法
在「設計」模式中,按一下所有內容,並尋找樣式底下的 errorStyle

escape - 跳出字元

指出是否跳出可能被誤用為 XML 及 HTML 標記的字元。

種類
基本
語法
escape="true|false"
用法
在「設計」模式中,按一下所有內容,並尋找基本底下的 escape

預設值是 true

範例
此「計算欄位」控制項會跳出 XML 及 HTML 標記的字元。
<xp:text escape="true" id="computedField1"
	value="#{javascript:return requestScope.number1 + requestScope.number2}">
	<xp:this.converter>
		<xp:convertNumber type="number"></xp:convertNumber>
	</xp:this.converter>
</xp:text>

event - 事件

指定此事件的名稱。

種類
基本
語法
event="name"
用法
在「設計」模式中,按一下所有內容,並尋找基本底下的 event
範例
onclick 事件會啟動類型為 Cancel 的這個「按鈕」控制項。
<xp:button value="cancel" id="button2">
	<xp:eventHandler event="onclick" submit="true"
		refreshMode="complete" immediate="true" save="false">
						</xp:eventHandler>
</xp:button>

eventHandler - 事件處理程式(內容)

指定要在控制事件發生時執行的 Script 及簡式動作。

種類
事件
語法
若為伺服器事件:
<xp:eventHandler event="eventname" submit="true|false"
	refreshMode="complete|partial|norefresh" refreshId="controlid"
	immediate="true|false"	execMode="partial|full">
	<xp:this.action>
	<!--For a script:-->
		<![CDATA[#{javascript:script}]]> <!--where script is the text of the script-->
	<!--For a simple action:-->
		<xp:simpleactionname attributes>content</xp:simpleactionname>
	<!--For a simple action group:-->
							</xp:this.action>
		<xp:actionGroup condition="#{javascript:script}">
			<xp:simpleactionname attributes>content</xp:simpleactionname>
			...
			<!--Can embed simple action groups-->
		</xp:actionGroup>
	<xp:this.parameters>
		<xp:parameter name="name" value="value"></xp:parameter>
		...
	</xp:this.parameters>
</xp:eventHandler>
若為用戶端事件:
<xp:eventHandler event="eventname" submit="false">
	<xp:this.script>
	<!--For a script:-->
		<![CDATA[script]]> <!--where script is the text of the script-->
	<!--For a simple action:-->
		<xp:simpleactionname attributes>content</xp:simpleactionname>
	<!--For a simple action group:-->
		<xp:scriptGroup conditionScript="script">
			<xp:simpleactionname attributes>content</xp:simpleactionname>
			...
			<!--Can embed simple action groups-->
		</xp:scriptGroup>
	</xp:this.script>
</xp:eventHandler>
其中:
  • eventname 指定事件名稱,例如,onblur 或 onclick。在「設計」模式中,選取適當的事件。
  • submit="true" 會導致在使用者啟動事件時,傳送要求到伺服器。submit 的任何其他值都會停用該事件。在「設計」模式中,按一下不進行提交來移除事件。
  • refreshMode 是下列其中一項:
    • complete 會在伺服器處理要求之後,將整個頁面重新載入到用戶端。在「設計」模式中,按一下完整更新
    • partial 會使用 Asynchronous JavaScript and XML (AJAX) 技術,重新載入頁面的選取部分。在「設計」模式中,按一下局部更新
    • norefresh 不會重新載入頁面。在「設計」模式中,按一下不進行更新
  • refreshId 只適用於 refreshMode="partial",且會指定要更新的控制項。在「設計」模式中,按一下選取元素
  • immediate="true" 會暫停伺服器上的資料處理。對於資料處理,請省略這個屬性或是指定 true 以外的任何值。在「設計」模式中,按一下不驗證或更新資料
  • execMode="partial" 指定在執行程式碼片段時,進行局部重新整理。針對完整重新整理,省略此屬性,或指定 partial 以外的項目。在「設計」模式中,按一下設定局部執行模式
  • action 指定下列任一項:
    • Script,script 就是您的程式碼。在「設計」模式中,按一下 Script 編輯器。在 Script 視窗中輸入 Script,或是開啟 Script 對話框。
    • 簡式動作的名稱及其引數。在「設計」模式中,按一下簡式動作。請使用各種按鈕和清單來建立及編輯簡式動作。
    • actionGroup,它可以包含簡式動作及其他動作群組。這是選用狀況。
  • parameters 指定任何事件參數的名稱和值。在「設計」模式中,按一下編輯事件參數
用法
事件是使用者可以執行的動作(例如,按一下按鈕,或移除編輯框中的焦點)。 事件處理程式是您(設計者)為了回應事件而執行的動作。事件處理程式可以是伺服器 Script、用戶端 Script、簡式動作或簡式動作群組。

在焦點於控制項或頁面的「設計」模式中,按一下事件標籤。 事件被視為內容,並且會出現在「內容」的「所有內容」上。不過,最好不要從「所有內容」中建立或修改事件。

範例
此按鈕 onclick 事件會使用伺服器 Script 來建立新文件:
<xp:button value="Create document" id="button4">
	<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
	<xp:this.action>
			<![CDATA[#{javascript:var doc = database.createDocument();
			doc.replaceItemValue("subject", requestScope.subject);
			doc.save();
			requestScope.subject = null}]]>
							</xp:this.action>
						</xp:eventHandler>
</xp:button>
此按鈕 onclick 事件會使用伺服器簡式動作來開啟名稱為 main 的頁面:
<xp:button id="button5" value="Main page">
	<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
	<xp:this.action>
			<xp:openPage name="/main.xsp" target="newDocument"></xp:openPage>
							</xp:this.action>
						</xp:eventHandler>
</xp:button>
此按鈕 onclick 事件會建立新文件,然後使用簡式動作群組來開啟名稱為 main 的頁面:
<xp:button value="Create document" id="button6">
	<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
	<xp:this.action>
			<xp:actionGroup condition="#{javascript:true}">
				<xp:executeScript>
					<xp:this.script><![CDATA[#{javascript:var doc = database.createDocument();
					doc.replaceItemValue("subject", requestScope.subject);
					doc.save();
					requestScope.subject = null}]]>
					</xp:this.script>
				</xp:executeScript>
				<xp:openPage name="/main.xsp" target="newDocument"></xp:openPage>
			</xp:actionGroup>
							</xp:this.action>
						</xp:eventHandler>
</xp:button>
此編輯框 onblur 事件會在使用者文字包含空格時顯示訊息:
<xp:inputText id="inputText2" value="#{requestScope.subject}">
	<xp:eventHandler event="onblur" submit="true" refreshMode="complete">
		<xp:this.script>
		<![CDATA[var e = window.document.getElementById("#{id:inputText2}");
		if(e.value.indexOf(" ") > -1) {
		window.alert("You should not have spaces in this value.")}]]>
		</xp:this.script>
						</xp:eventHandler>
</xp:inputText>

eventName - 事件名稱

指定平台事件的名稱。

種類
基本
語法
eventName="name"
用法
在「設計」模式中,按一下所有內容,並尋找基本底下的 eventName

exclude - 排除

列出已上傳檔案的已排除 MIME 類型。

種類
基本
語法
exclude="text/html|image/png|image/gif|video/mpeg|text/css|audio/basic"
用法
在「設計」模式中,按一下所有內容,並尋找基本底下的 exclude

預設不會排除任何 MIME 類型。

execId - 要執行的片段

指定要執行的頁面片段。

種類
基本
語法
execId="name"
用法
在「設計」模式中,按一下所有內容,並尋找基本底下的 execId

使用此內容,可以在 execModepartial 而且所執行控制項不是現行控制項時,指定控制項。

execMode - 執行模式

決定執行模式:完整或局部。

種類
基本
語法
execMode="complete|partial"
用法
在「設計」模式中,按一下所有內容,並尋找基本底下的 execMode

局部執行表示執行某個控制項的事件,而不是頁面上所有控制項的事件。對於局部執行,如果所執行的不是現行控制項,則要指定 execId

預設是完整執行。

expandedImage - 展開的小節影像

指定展開的小節影像。

種類
基本
語法
expandedImage="pathname"
用法
在「設計」模式中,按一下所有內容,並尋找基本底下的 expandedImage

針對應用程式資源,影像的路徑是相對於應用程式(例如,/abook.gif)。

facetName - 資料類型名稱

識別資料類型區域。

種類
基本
語法
facetName="name"
用法
在「設計」模式中,按一下內容底下的頂端標籤,並尋找資料類型名稱,或按一下所有內容,並尋找基本底下的 facetName

預設名稱為 facet_1facet_2 等等。

fatalClass - 嚴重類別

指定要套用至嚴重性為 fatal 的訊息的 CSS 樣式類別清單。

種類
樣式
語法
fatalClass="name ..."
其中 name 識別樣式類別。請用空格隔開多個名稱。
用法
在「設計」模式中,按一下所有內容,並尋找樣式底下的 fatalClass

fatalStyle - 嚴重樣式

指定要套用至嚴重性為 fatal 的訊息的 CSS 樣式清單。

種類
樣式
語法
fatalStyle="name ..."
其中 name 識別樣式。請用空格隔開多個名稱。
用法
在「設計」模式中,按一下所有內容,並尋找樣式底下的 fatalStyle

filename - 檔名

指定已上傳檔案的名稱。

種類
基本
語法
filename="name"
用法
在「設計」模式中,按一下內容底下的頂端標籤,並尋找檔名,或按一下所有內容,並尋找基本底下的 filename

依預設,會使用原始檔名。

fileNameHrefValue - 檔名 URL

將檔名參照置換為檔案的 URL。

種類
基本
語法
fileNameHrefValue="url"
用法
在「設計」模式中,按一下所有內容,並尋找基本底下的 fileNameHrefValue

預設值為附件的實際名稱。

fileNameTitle - 檔名標題

指定檔名標頭的替代標題。

種類
基本
語法
fileNameTitle="title"
用法
在「設計」模式中,按一下所有內容,並尋找基本底下的 fileNameTitle

預設標題為 File Name

fileNameValue - 檔名值

指定檔名直欄的替代值。

種類
基本
語法
fileNameValue="name"
用法
在「設計」模式中,按一下所有內容,並尋找基本底下的 fileNameValue

預設值為附件的實際名稱。

first - 第一列索引

指定要顯示的第一列號碼。

種類
資料
語法
first="n"
其中 n 會從零開始。
用法
在「設計」模式中,按一下所有內容,並尋找資料底下的 first

firstStyleClass - 首頁樣式類別

指定要套用至沒有樣式的首頁控制項的 CSS 類別清單。

種類
樣式
語法
firstStyleClass="name ..."
其中 name 識別類別。請用空格隔開多個名稱。
用法
在「設計」模式中,按一下所有內容,並尋找樣式底下的 firstStyleClass

這樣會呈現 class= 設為這些值的含括跨距。

footerClass - 標底 CSS 樣式類別

指定要套用至標底的 CSS 樣式類別清單。

種類
樣式
語法
footerClass="name ..."
其中 name 識別樣式類別。請用空格隔開多個名稱。
用法
在「設計」模式中,按一下所有內容,並尋找樣式底下的 footerClass

for - 關聯用戶端 ID

指定要顯示其錯誤訊息的控制項。

種類
基本
語法
for="id"
其中 id 是 XPage 上控制項的 ID。
用法
在「設計」模式中,按一下內容底下的頂端標籤,並尋找顯示其錯誤訊息,或按一下所有內容,並尋找基本底下的 for
範例
以下的輸入框連結到數值資料,且不會在用戶端進行驗證。 以下是輸入框的錯誤顯示畫面。
<xp:inputText id="inputText3" value="#{document1.number}"
	disableClientSideValidation="true">
	<xp:this.converter>
		<xp:convertNumber type="number"></xp:convertNumber>
	</xp:this.converter>
</xp:inputText>
<xp:message id="message1" for="inputText3"></xp:message>
若使用者在輸入框裡輸入非數值的值,則下列訊息會出現在錯誤顯示畫面中:
此欄位不是有效的數字

for - 用於 ID

將分頁器動作導向至資料控制項。

種類
基本
語法
for="id"
其中 id 是 XPage 上控制項的 ID。
用法
在「設計」模式中,按一下內容底下的頂端標籤,並尋找連接至,或按一下所有內容,並尋找基本底下的 for

使用者按一下母項分頁器控制項時,會在此內容所指定的控制項上進行分頁動作。

資料控制項內資料類型區域中的分頁器控制項,不需要此內容。

for - 選取目標控制項

將焦點重新導向至 XPage 上的另一個控制項。

種類
基本
語法
for="id"
其中 id 是 XPage 上控制項的 ID。
用法
在「設計」模式中,按一下內容底下的頂端標籤,並尋找選取目標控制項,或按一下所有內容,並尋找基本底下的 for

使用者按一下或將焦點放在此控制項時,焦點會移至目標控制項。

範例
此「標籤」控制項會將焦點重新導向至「輸入框」控制項:
<xp:label
	value="#{javascript:session.getCommonUserName()}"
	id="label1" style="color:rgb(0,0,255)" for="inputText1">
</xp:label>

frame - 表格框架

指定表格的框架方式。

種類
格式
語法
frame="void|above|below|hsides"
用法
在「設計」模式中,按一下所有內容,並尋找格式底下的 frame

frequency - 頻率

指定觸發伺服器要求之前的最短時間(秒)。

種類
資料
語法
frequency="n"
用法
在「設計」模式中,按一下所有內容,並尋找基本底下的 frequency

globalOnly - 僅廣域

只顯示未與控制項相關聯的訊息,或顯示所有訊息。

種類
基本
語法
globalOnly="true|false"
用法
在「設計」模式中,按一下所有內容,並尋找基本底下的 globalOnly

依預設,會顯示所有訊息。

groupName - 群組名稱

將圓鈕指定給群組。

種類
基本
語法
groupName="name"
用法
在「設計」模式中,按一下內容底下的第一個標籤,並尋找圓鈕群組名稱,或按一下所有內容,並尋找基本底下的 groupName

不需要建立群組。將圓鈕指派給群組的動作會建立群組。

所有指派給相同群組的「圓鈕」控制項的動作都一致。一次只能選取一個按鈕。如果群組名稱是「圓鈕群組」控制項的名稱,則那些按鈕是該群組的一部分。

範例
這些「圓鈕」控制項屬於相同的群組。
<xp:radio text="apples" id="radio1" value="#{document1.fruit}"
	groupName="fruit" selectedValue="apples">
</xp:radio>
<xp:radio text="Oranges" id="radio2" value="#{document1.fruit}"
	groupName="fruit" selectedValue="oranges">
</xp:radio>

handlers - 事件處理程式

指定要執行的事件處理程式的集合。

種類
事件
語法
<xp:this.handlers>
	<xp:handler loaded="true|false" renderkit="id"
		script="textofscript" type"text/javascript">
	</xp:handler>
	...
</xp:this.handlers>

header - 小節標頭文字

指定小節頂端的可見標籤。

種類
基本
語法
header="label"
用法
在「設計」模式中,按一下內容底下的頂端標籤,並尋找標頭,或按一下所有內容,並尋找基本底下的 header

收合小節時,只可以看到標頭。

範例
此節指定標頭。
<xp:section id="section1" header="Phone numbers" type="tab"
	initClosed="true">
	<xp:inputText id="inputText2" value="#{document1.phoneday}"></xp:inputText>day
	<xp:br></xp:br>
	<xp:inputText id="inputText3" value="#{document1.phonenight}"></xp:inputText>night
</xp:section>

headerClass - 標頭 CSS 類別

指定要套用至標頭的 CSS 樣式類別清單。

種類
樣式
語法
headerClass="name ..."
其中 name 識別樣式類別。請用空格隔開多個名稱。
用法
在「設計」模式中,按一下所有內容,並尋找樣式底下的 headerClass

headerStyle - 小節標頭 CSS 樣式

指定要套用至小節標頭的 CSS 類別清單。

種類
樣式
語法
headerStyle="name ..."
其中 name 識別類別。請用空格隔開多個名稱。
用法
在「設計」模式中,按一下所有內容,並尋找樣式底下的 headerStyle

height - 高度

指定控制項的高度。

種類
格式
語法
height="n"
用法
在「設計」模式中,按一下所有內容,並尋找格式底下的 height

hideWhen - 無法使用時隱藏

在沒有附件可供下載時,隱藏檔案下載控制項。

種類
基本
語法
hideWhen="true|false"
用法
在「設計」模式中,按一下內容底下的頂端標籤,並尋找沒有附件時隱藏,或按一下所有內容,並尋找基本底下的 hideWhen

依預設,不會隱藏下載控制項。

href - 鏈結位置

將使用者重新導向至指定的位置。

種類
基本
語法
href="url"
用法
在「設計」模式中,按一下所有內容,並尋找基本底下的 href
範例
按一下此標籤畫面的使用者會重新導向至 Google 網站。
<xp:tabPanel label="Google" id="tabPanel3"
	href="http://www.google.com">
</xp:tabPanel>

hreflang - 語言

指定已擷取資源的語言及國碼。

種類
基本
語法
hreflang="name"
其中 name 是語言及國碼(例如,en_US)。
用法
在「設計」模式中,按一下所有內容,並尋找基本底下的 hreflang

htmlConversionWarning - HTML 轉換警告

如果儲存文件時從 HTML 轉換至 Rich Text,則會顯示警告。

種類
基本
語法
htmlConversionWarning="warnOnConversion|warnOnConversionError|noWarning"
用法
在「設計」模式中,按一下所有內容,並尋找基本底下的 htmlConversionWarning
範例
此 Rich Text 控制項會在 HTML 轉換時發出警告。
<xp:inputRichText id="inputRichText1" value="#{document1.body}">
	htmlConversionWarning="warnOnConversion"
</xp:inputRichText>

htmlFilter - HTML 過濾處理器名稱傳送

指定「作用中內容過濾 (ACF)」處理器以傳送資料。

種類
基本
語法
htmlFilter="identity|acf|empty|striptags"
用法
在「設計」模式中,按一下所有內容,並尋找基本底下的 htmlFilter

如需如何接收資料,請參閱htmlFilterIn - HTML 過濾處理器名稱接收

處理器的運作方式如下:
  • identity 過濾器會傳回原始字串。
  • acf 處理器會剖析 HTML 文字,並根據配置檔 (acf-config.xml) 過濾出不安全的建構。
  • empty 引擎會移除所有項目,並傳回空字串。
  • striptags 處理器會使用正規表示式 replaceAll("\\<.*?>","") 移除所有標籤。

如果是 Notes 用戶端,則 acf 配置檔一般是位於 Notes 安裝中的 xsp\nsf\acf-config.xml。您也必須將下行新增至相同資料夾 xsp.htmlfilter.acf.config=acf-config.xmlxsp.properties 檔案中。 範例配置檔則是位於 data\properties\acf-config.xml.sample 中。

範例
此「輸入框」指定 acf 處理器,以在傳送及接收時進行過濾。
<xp:inputText id="inputText1" value="#{document1.subject}"
	htmlFilter="acf" htmlFilterIn="acf">
</xp:inputText>

htmlFilterIn - HTML 過濾處理器名稱接收

指定「作用中內容過濾 (ACF)」處理器以接收資料。

種類
基本
語法
htmlFilterIn="identity|acf|empty|striptags"
用法
在「設計」模式中,按一下所有內容,並尋找基本底下的 htmlFilterIn

如需傳送資料的相關資訊,請參閱htmlFilter - HTML 過濾處理器名稱傳送

範例
此「輸入框」指定 acf 處理器,以在傳送及接收時進行過濾。
<xp:inputText id="inputText1" value="#{document1.subject}"
	htmlFilter="acf" htmlFilterIn="acf">
</xp:inputText>

icon - 圖示 URL

指定圖示的路徑。

種類
基本
語法
icon="path"
其中 path 是圖示的位置。後接圖形檔名稱的斜線,指出現行應用程式中所儲存的資源。
用法
在「設計」模式中,按一下內容底下的頂端標籤,並尋找指定按鈕的影像,或按一下所有內容,並尋找基本底下的 icon
範例
此「按鈕」控制項提供含有替代文字的圖示。
<xp:button id="button2" value="Save and Exit" icon="/folder.gif" iconAlt="Folder">
	<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
	<xp:this.action>
			<xp:save name="/xpage2.xsp"></xp:save>
							</xp:this.action>
						</xp:eventHandler>
</xp:button>

iconAlt - 圖示替代文字

指定圖示的說明文字。

種類
協助工具
語法
iconAlt="description"
用法
在「設計」模式中,按一下內容底下的頂端標籤,並尋找指定按鈕的影像圖示替代文字,或按一下所有內容,並尋找協助工具底下的 iconAlt

若您計算此值,則會傳回字串。

範例
此「按鈕」控制項提供含有替代文字的圖示。
<xp:button id="button2" value="Save and Exit" icon="/folder.gif" iconAlt="Folder">
	<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
	<xp:this.action>
			<xp:save name="/xpage2.xsp"></xp:save>
							</xp:this.action>
						</xp:eventHandler>
</xp:button>

iconSrc - 圖示來源

顯示直欄內容前面的圖示。

種類
格式
語法
iconSrc="path"
其中 path 是圖示的位置。後接圖形檔名稱的斜線,指出現行應用程式中所儲存的資源。
用法
在「設計」模式中,按一下內容底下的顯示標籤,並尋找圖示,或按一下所有內容,並尋找格式底下的 iconSrc

id - 名稱

在頁面的所有控制項中,唯一識別控制項。

種類
基本
語法
id="name"
用法
在「設計」模式中,按一下內容底下的頂端標籤,並尋找名稱,或按一下所有內容,並尋找基本底下的 id

大部分控制項會接收到由控制項標籤及整數組成的預設 ID(例如,inputText1inputText2)。 雖然最簡單的作法是依現狀保留 ID,但是您還是可以變更或移除 ID。

指派與頁面上另一個控制項的 ID 重複的 ID,是不正確的作業。

ID 必須是靜態值。

範例
此「編輯框」控制項的名稱為 inputText1
<xp:inputText id="inputText1" value="#{document1.subject}"></xp:inputText>

ignoreCase - 不區分大小寫

指出自動搜尋允許使用或不區分大小寫。

種類
基本
語法
ignoreCase="true|false"
其中 true 表示不區分大小寫。
用法
在焦點於母項控制項的「設計」模式中,按一下內容底下的自動搜尋標籤,並尋找區分大小寫,或在焦點於 typeAhead 控制項時,按一下所有內容,並尋找基本底下的 ignoreCase

如果您計算此值,則會傳回布林值。

範例
此「編輯框」控制項提供忽略大小寫的自動搜尋。
<xp:inputText id="inputText1" value="#{document1.subject}">
	<xp:typeAhead mode="full" minChars="1"
	valueList="alpha#beta#charlie#delta#echo#foxtrot"
	valueListSeparator="#" tokens=",/" ignoreCase="true">
</xp:typeAhead></xp:inputText>

image - 影像(內容)

指定影像。

種類
基本
語法
image="pathname"
用法
在「設計」模式中,按一下內容底下的頂端標籤,並尋找影像標籤影像,或按一下所有內容,並尋找格式基本底下的 image

針對應用程式資源,影像的路徑是相對於應用程式(例如,/abook.gif)。

immediate - 立即動作

通知接聽器,或在「套用要求值」階段期間立即轉換及驗證資料,而不是稍後在「呼叫應用程式」或「處理程序驗證」階段期間進行。

種類
基本
語法
immediate="true|false"
其中 true 會立即作用。
用法
在「設計」模式中,按一下所有內容,並尋找基本事件底下的 immediate

依預設,稍後會通知或驗證。

範例
立即驗證此「編輯框」控制項。
<xp:inputText id="inputText1" value="#{document1.subject}"
	immediate="true">
</xp:inputText>

indentResponses - 縮排回應

是否縮排回應文件。

種類
格式
語法
indentResponses="true|false"
用法
在「設計」模式中,按一下內容底下的顯示,並尋找縮排回應,或按一下所有內容,並尋找格式底下的 indentResponses

此內容預設值為 false

只能將一個直欄標示為用於縮排回應,一般是第一個非分類的直欄。

.

indexVar - 索引變數

指定變數名稱,讓橫列索引可用於子項。

種類
資料
語法
indexVar="name"