SAP Web 應用程序服務器提供基于頁面的編程模型,,具有服務器端腳本以及服務器頁面技術,,用于開發(fā)、設計和實施 Web 應用程序:業(yè)務服務器頁面 (BSP),。 服務器端腳本允許直接訪問應用程序服務器中的所有元素(例如功能模塊,、數(shù)據(jù)庫表、ABAP 對象等),。 在 Web 應用程序服務器中,,表示與業(yè)務邏輯是分開的。 可以使用 ABAP 或 JavaScript 中的服務器端腳本創(chuàng)建 HTML 頁面或業(yè)務服務器頁面 (BSP),。 創(chuàng)建應用程序時,,可以利用模型視圖控制器 (MVC) 設計模式。 在 SAP 中,BSP 應用程序由一系列 BSP 頁面組成,,這些頁面可以包含靜態(tài) HTML,、ABAP 代碼、JavaScript 或 CSS,。這些頁面可以包含 HTMLB(HTML 業(yè)務)庫中的元素,,HTMLB 庫提供了一組預定義的 HTML 控件,如按鈕,、輸入框,、下拉列表等,這些控件可以方便地在 BSP 頁面中使用,。 BSP 技術的主要優(yōu)點是它與 SAP 系統(tǒng)的緊密集成,,這使得開發(fā)人員可以直接訪問 SAP 系統(tǒng)中的所有 ABAP 功能,包括數(shù)據(jù)庫訪問,、業(yè)務邏輯、用戶管理等,。此外,,由于 BSP 頁面在服務器上運行,因此它們可以動態(tài)地生成 HTML,,這使得頁面可以根據(jù)用戶的輸入和系統(tǒng)的狀態(tài)來改變其內容,。 例如,考慮一個簡單的 BSP 應用程序,,它允許用戶在一個表單中輸入他們的姓名和年齡,,然后顯示一個歡迎消息,。這個應用程序可能包含兩個 BSP 頁面:一個輸入頁面和一個輸出頁面。輸入頁面可以包含兩個 HTMLB 輸入框控件,,一個用于輸入姓名,,另一個用于輸入年齡,以及一個 HTMLB 按鈕控件,,用于提交表單,。當用戶點擊按鈕時,頁面的 ABAP 代碼會被執(zhí)行,,它將用戶的輸入存儲在服務器的會話內存中,,然后導航到輸出頁面。輸出頁面的 ABAP 代碼會從會話內存中讀取用戶的輸入,,然后生成一個包含歡迎消息的 HTML 頁面,,該消息包含用戶的姓名和年齡。 在創(chuàng)建 BSP 應用程序時,,首先需要在 SAP 系統(tǒng)中創(chuàng)建一個新的 BSP 應用程序,。這可以通過在 ABAP 開發(fā)工作臺的“BSP 應用程序”節(jié)點下選擇“創(chuàng)建”來完成。在創(chuàng)建 BSP 應用程序時,,需要提供一個唯一的名稱,,以及一個包含應用程序所有頁面和相關資源的目錄。創(chuàng)建 BSP 應用程序后,,可以開始添加 BSP 頁面,。在創(chuàng)建 BSP 頁面時,可以選擇頁面的類型(例如,,HTML 頁面或 ABAP 頁面),,并提供頁面的名稱和標題。 在 BSP 頁面中,,可以使用 HTML 和 ABAP 代碼來定義頁面的內容和行為,。HTML 代碼用于定義頁面的布局和樣式,而 ABAP 代碼用于處理用戶的輸入和生成動態(tài)內容,。為了讓 ABAP 代碼能夠在服務器上運行,,BSP 提供了一種特殊的標記語法,可以在 HTML 代碼中插入 ABAP 代碼,。這些 ABAP 代碼段在服務器上執(zhí)行,,并生成動態(tài) HTML。 看一個具體的例子,。 首先,,我們需要創(chuàng)建一個BSP應用。在SE80事務中,,選擇BSP應用程序,,并創(chuàng)建一個新的BSP應用,,如"MyBSPApplication"。 在這個應用下,,我們創(chuàng)建一個頁面,,如"MyPage.htm". 代碼如下: <htmlb><head> <title>My First BSP Application</title></head><body> <h1><%= request->get_form_field( 'input1' ) %></h1> <form method="POST" runat="server"> <input type="text" name="input1"> <input type="submit" name="submit" value="Submit"> </form></body></htmlb> 下面是代碼的逐行解釋:
這個BSP應用程序非常簡單,只有一個表單和一個提交按鈕,。用戶可以在文本框中輸入文本,,點擊提交按鈕后,這個文本將顯示在頁面的標題上,。 |
|