在 JSP 中設計用戶界面
創建頁面流時,WebLogic Workshop 提供各種標記庫,您可以使用其中包含的標記設計 JSP。頁面流向導生成的每個 JSP 文件都定義為包括引用標記庫的 <% taglib...> 語句。例如:
<!--由 WebLogic Workshop 生成--> <%@ page language="java" contentType="text/html;charset=UTF-8"%> <%@ taglib uri="netui-tags-databinding.tld" prefix="netui-data"%> <%@ taglib uri="netui-tags-html.tld" prefix="netui"%> <%@ taglib uri="netui-tags-template.tld" prefix="netui-template"%> <netui:html> <head> <title> Web 應用程序頁 </title> </head> <body> <p> 新建 Web 應用程序頁 </p> </body> </netui:html>
注意:WebLogic Workshop 將 TLD 和 TLDX 庫文件置于 Web 項目的 /WEB-INF 文件夾下。 TLD 文件是 J2EE 標準標記庫描述符文件。TLDX 文件是 WebLogic Workshop 的特定文件,包含有關標記在 IDE 中應如何起作用的信息。此信息包括顯示、屬性表單和其他信息。
在 IDE 中,如果 JSP 文件在設計視圖或源代碼視圖中打開,則可以在選項板窗口中獲取標記。例如:
可以將這些標記從“選項板”窗口拖放到設計視圖中。在某些情況下,會出現一個對話框窗口,允許您將操作分配給使用表單 Bean 的標記。例如:
注意:在將標記圖標從“選項板”窗格移動到“設計視圖”畫布時,您會注意到,在“設計視圖”畫布中,插入點是用垂直線顯示的。請記住此插入點,因為它將決定標記代碼在 JSP 中的初始位置。
JSP 設計器是為開發人員設計的,開發人員需要快速匯編基于 NetUI、NetUI 數據綁定和 NetUI 模板標記的 JSP 頁。作為一個開發人員,您可以創建這些頁的初稿,并決定表單操作和其他上下文以將簡單或復雜的數據顯示給用戶。在 JSP 設計器中,可以利用“放置向導”和(源代碼視圖中的)其他代碼完成工具以協助開發工作。JSP 設計視圖并不是設計用作完全的 JSP 圖形編輯器,您可以切換到源代碼視圖以輸入文本,或者使用您喜歡的 JSP 編輯產品來完成頁,為顯示添加更多潤色。
本主題描述“NetUI”庫和“NetUI 模板”庫中的各種元素。這些庫包含用于設計用戶界面(如標簽、單選按鈕和鏈接)的典型組件。這些庫中的許多組件,尤其是表單組件,允許您為用戶提供數據或從用戶引出數據。
此外,“NetUI 數據綁定”庫包含用于向用戶顯示復雜數據的專用組件。NetUI 數據綁定標記另行在 JSP 中顯示復雜數據集中討論。
注意:“選項板”窗口還提供一個稱為“HTML”的標記庫,該庫包含幾種標準 HTML 標記。這些 HTML 標記不具有可以與頁面流運行時進行交互的特殊特性。
NetUI 標記
“選項板”窗口中的 NetUI 組件存儲在 netui-tag-html.tld 庫中,此庫是默認導入 JSP 的:
<%@ taglib uri="netui-tags-html.tld" prefix="netui"%>
將 NetUI 組件添加到 JSP 時,您會注意到組件名稱的前綴為“netui”,例如:
<netui:button value="Start" action="letsGo" type="submit"/>
下表總結了 NetUI 標記的常見用途。有關標記及其特性的詳細描述,請參閱 JSP 標記引用,也可以在源代碼視圖中將光標置于標記內部并按 F1 鍵:
標記的典型用途 | 標記名 | 概要 |
導航 | anchor | 生成指向特定 URI 的 URL 編碼超鏈接。 |
imageAnchor | 生成一個用 URL 編碼的超鏈接,鏈接到指定 URI,此 URI 有一個作為正文包含進來的圖像。 | |
button | 生成名稱是只讀的按鈕,通常用于重置或提交表單,或觸發特定操作(如“signing out”)。 | |
imageButton | 生成一個作為按鈕的圖像,包括圖像的 URL 和(可選)懸停圖像,通常用于提交表單。 | |
讀/寫數據(使用 dataSource、defaultValue 特性) | form | 代表一個與表單 Bean 關聯的輸入表單,此表單 Bean 的屬性與表單的各個字段相對應。 |
checkBox | 生成一個綁定到表單 Bean 屬性的復選框。 | |
checkBoxGroup | 對 CheckBoxOption 集合進行歸組,并處理其值的數據綁定。有關示例,請參閱頁面流詳細示例。 | |
checkBoxOption | 一個復選框,其狀態由包含它的 checkBoxGroup 確定。 | |
hidden | 生成隱藏表單字段。 | |
radioButtonGroup | 對 RadioButtonOption 集合進行歸組,并處理其值的數據綁定。有關示例,請參閱頁面流詳細示例。 | |
radioButtonOption | 單選按鈕,狀態由包含它的 RadioButtonGroup 確定。 | |
select | 渲染下拉列表。有關示例,請參閱頁面流詳細示例。 | |
selectOption | 選項,狀態由包含它的 select 組件確定。 | |
textArea | 渲染數據綁定的 TextArea。 | |
textBox | 渲染數據綁定的 TextBox。 | |
錯誤報告 | bindingUpdateErrors | 開發時幫助標記,顯示發送表單時發生的數據綁定更新錯誤的相關消息。這些消息顯示在命令窗口中。默認情況下,此標記在服務器以生產模式運行時是禁用的。 |
error | 使用給定錯誤鍵值渲染單個錯誤消息。有關詳細信息,請參閱驗證用戶輸入。 | |
errors | 渲染發現的錯誤消息集。有關詳細信息,請參閱驗證用戶輸入。 | |
exceptions | 渲染已格式化的異常消息。 | |
參數 | parameter | 將 URL 參數寫入其父標記中的 URL。有關示例,請參閱在頁面流中使用數據綁定中的 url 數據綁定上下文。 |
parameterMap | 將 URL 參數映射中的每個參數寫入其父標記中的 URL。 | |
其他 | base | 提供此頁中每個 URL 的基。 |
content | 顯示只讀的標準或動態生成的文本。 | |
image | 生成圖像。 | |
label | 根據數據綁定表達式或字面值生成樣式化的只讀文本。 | |
node | 實例化 TreeNode 對象,該對象將要添加到父標記(樹或其它節點)中。 | |
tree | 渲染一個由 TreeNode 對象集代表的樹控件。 |
Netui 模板標記
“選項板”窗口中的 NetUI 模板組件存儲在 netui-tag-template.tld 庫中,此庫是默認導入 JSP 的:
<%@ taglib uri="netui-tags-template.tld" prefix="netui-template"%>
將 NetUI 模板組件添加到 JSP 時,您會注意到組件名稱的前綴為“netui-template”,例如:
<netui-template:visible visible="true">Is Visible</netui-template:visible>
此庫中的標記通常用于定義地點模板。模板頁是一個 JSP 頁,用于定義一組頁的總體外觀及感覺。這是通過提供總體布局結構、樣式和頁面設計,并定義內容占位符完成的。這些占位符稱為部分。內容頁是一個包含內容的 JSP 頁。內容頁提供插入模板內容的各個部分。將內容頁和模板頁進行組合,可以創建內容的總體外觀及感覺。模板的一大優勢在于可以更改一組頁的外觀及感覺,而不必強制修改每個頁。
NetUI 模板庫定義了兩類標記集。第一類用于在 JSP 模板頁中定義占位符(這是內容頁提供內容的地方)。第二類標記集用于內容頁內部,可以指示要使用的模板和定義將要在模板內顯示的內容。
下表總結了 NetUI 模板標記的常見用途。有關標記及其特性的詳細描述,請參閱 JSP 標記引用,也可以在源代碼視圖中將光標置于標記內部并按 F1 鍵:
標記集 | 標記名 | 概要 |
模板頁 | attribute | 定義模板文件中的特性。與內容 JSP 中的 setAttribute 聯合使用。 |
includeSection | 定義模板文件中的一個部分,使用 section 標記,內容 JSP 可以進一步填充此部分。 | |
內容頁 | setAttribute | 設置在模板文件中聲明的特性的值。 |
section | 引用 includeSection 并定義要包括的內容。 | |
template | 指定要使用的模板。 | |
二者之一 | visibility | 使一個部分可見或不可見。 |
要查看使用模板標記的樣例應用程序,請轉至下列頁面流并檢查 JSP 文件:
<WEBLOGIC_HOME>\samples\workshop\SamplesApp\WebApp\simpleflow
另請參閱 template.jsp 和 header.jsp 文件,它們位于:
<WEBLOGIC_HOME>\samples\workshop\SamplesApp\WebApp\resources\jsp