麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發(fā)設計 > 正文

使用 Struts portlet 實現頁面導航

2019-11-18 12:55:44
字體:
來源:轉載
供稿:網友

  引言
  Struts 是一個很受歡迎的開放源代碼平臺基礎,它是為了使復雜的 Web 應用程序的創(chuàng)建和維護更加輕易而設計的。Struts 框架支持模型-視圖-控制器(Model-View-Controller,MVC)模型,并且提出了許多重要的應用程序設計和實現需要注重的事項。為了能夠在門戶應用程序中實現頁面導航,WebSphere® Portal V5 提供了一些標記,在開發(fā)典型 portlet 和 Struts portlet 時可將這些標記用于 javaServer Pages(jsp)。本文重點討論 Struts 框架創(chuàng)建多模塊的能力,并通過一個樣本 Struts portlet 應用程序為您介紹如何采用 JSP 實現頁面導航方法。
  
  我們將關注以下兩種互補的方法:
  
  如何使用在 WebSphere Portal 中可用的某一 JSP 標記來從 JSP 實現頁面導航
  我們將會看到一個樣本應用程序,包括開發(fā)環(huán)境和門戶資源的屏幕快照,以及頁面導航方法的代碼樣本。
  如何使用 Struts portlet 框架中內置的多模塊支持來組織 Web 導航方案
  我們將會看到一些代碼樣本,它們闡述了如何使用頁面導航特征來執(zhí)行在門戶環(huán)境中轉換的多個 Struts 模塊。
  
  本文假定您已基本了解 Struts 應用程序,包括如何在 WebSphere Studio application Developer 中創(chuàng)建 Struts 應用程序、如何將 Struts 作為 portlet 進行部署,同時也了解 WebSphere Portal 中的門戶資源。(要獲得這些方面的更多信息,請參見參考資料。)
  
  在開發(fā)和部署我們的樣本應用程序時用到了以下產品:
  
  WebSphere Portal V5.x
  WebSphere Application Server v5.x
  支持 Struts Version 1.1 的 WebSphere Studio Application Developer v5.0.1 (下面稱為 Application Developer)。
  
  本文所講解的用于實現頁面導航的開發(fā)任務可同時用于標準 portlet 和 Struts portlet。
  
  應用程序概述
  在樣本應用程序中,我們將會使用位于三個不同頁面的三個 portlet。當用戶選擇其中某一 portlet 中的鏈接時,該用戶會被定向到另一個頁面,其中駐留著另一個 portlet。在整個文章中我們開發(fā)和提到的示例都會利用多 Struts 模塊將 WebSphere Portal 頁面導航標記并入門戶環(huán)境中每個模塊本身的 JSP 文件中。圖 1 概括性地展示了樣本應用程序將如何工作;為了把重點放在理解這些方法上,我們特意簡化了樣本應用程序。在本文的后面我們將會提供給用程序的細節(jié)。
  
  
圖 1. 樣本應用程序的高級視圖

  
 使用 Struts portlet 實現頁面導航(圖一)

  構建導航結構
  WebSphere Portal 提供了自己的 JSP 標記來供 portlet JSP 使用。其中的一個標記,<WPS:URLGeneration attribute="value"/>,是用于創(chuàng)建到門戶任何地方的頁面鏈接的。我們使用該標記中一個屬性,contentNode="idname",來創(chuàng)建到不同頁面的 URL,以便構建導航結構。該屬性利用一個惟一的標識符(內容節(jié)點的名稱)來指定可以從中找到該 portlet 的頁面。(關于這一標記的更多信息請參見參考資料。)
  
  在 WebSphere Portal 中選擇 Administration => Portal Settings => Custom Unique Names。我們使用 Custom Unique Names 治理 portlet 來獲取為 contentNode 屬性指定的門戶資源的惟一標識符。治理員可以使用 Custom Unique Names portlet 來查看惟一標識符并為門戶資源分配(讓人易讀的)自定義名稱。圖 2 顯示了這些已配置的樣本頁面的惟一標識符和自定義名稱:
  
  Struts_Test
  Struts_Receiver
  Struts_Receiver_2
  
  
圖 2. Custom Unique Names portlet

  
 使用 Struts portlet 實現頁面導航(圖二)

  在這個示例中,WebSphere Portal 分配給這些頁面的惟一標識符分別為 6_0_LT、6_0_P1 和 6_0_ip。(您的值可能會有所不同。)在駐留 WebSphere Portal 的另一臺機器上也創(chuàng)建了同樣的門戶資源 Struts_Test、Struts_Receiver 和 Struts_Receiver_2 portlet 頁面。為了閱讀和工作的方便,我們也為這些樣本頁面配置自定義名稱,并在 JSP 文件中使用這些自定義名稱(而不是惟一標記符)。
  
  在 <wps:URLGeneration attribute="value"/> portlet JSP 標記主體中,可以使用 <% wpsURL %> 腳本變量將 URL 直接寫入輸出流。在這個示例中,我們使用以下 JSP 代碼來創(chuàng)建從某一 JSP 頁面到 Struts Receiver 頁面的鏈接:
  
  <wps:urlGeneration contentNode="Struts_Receiver_Page">
     <A HREF="<%wpsURL.write(out);%>"style="text-decoration:none" >
     Any text</a>
  </wps:urlGeneration>
  
  <wps:URLGeneration attribute="value"/> portlet JSP 標記屬于 engine.tld 標記庫,這一標記庫是由門戶服務器引擎使用的。為了讓該門戶 JSP 標記可用于我們的 JSP 中,我們在 JSP 頁面的最開始位置添加標記庫指示 taglib。如以下代碼所示,通過前綴 wps,我們樣本中所有的 engine.tld 標記現在就都可用了:
  
  <%@ taglib uri="/WEB-INF/tld/engine.tld" prefix="wps" %>
  
  樣本頁面和 portlet 配置
  該樣本應用程序的頁面導航條包括三個 portlet(這里提供的長名稱有助于強調頁面導航流程):
  
  Overview Struts Portlet:
  顯示了兩個用于將用戶請示定向到包含電話號碼或地址信息的頁面上的鏈接,它位于 Struts_Test 頁面(自定義名稱:Struts_Test_Page),如圖 3 所示:
  
圖 3. Struts_Test 頁面中的 Overview Struts Portlet

  
 使用 Struts portlet 實現頁面導航(圖三)

  Receive Phone Numbers Request Struts Portlet:
  顯示用戶的電話號碼,位于 Struts_Receiver_2 頁面(自定義名稱:Struts_Receiver_2_Page),如圖 4 所示:
  
圖 4. Struts_Receiver_2 頁面中的 Receive Phone Numbers Request Struts Portlet

  
 使用 Struts portlet 實現頁面導航(圖四)

  Receive Address Request Struts Portlet:
  顯示用戶地址信息,位于頁面(自定義名稱:Struts_Receiver_Page),如圖 5 所示:
  
圖 5. Struts_Receiver 頁面中的 Receive Address Request Struts Portlet

  
 使用 Struts portlet 實現頁面導航(圖五)

  請記住,到目前為止所描述的全部任務均可用于常規(guī) portlet 或 Struts portlet 開發(fā)。接下來我們將使用多 Struts 模塊中的門戶 JSP 標記來實現頁面導航。
  
  在 Struts 中使用多模塊支持
  Struts Version 1.1 可以讓我們將單個 Struts 應用程序拆分為多個模塊,每個模塊都有自己的操作、JSP 頁面和 Struts 配置文件(圖 6)。在 Struts 應用程序中實現多 Struts 模塊需要以下幾個步驟:
  
  創(chuàng)建獨立的 Struts 配置文件以及每個應用程序模塊的 Struts 操作和 JSPs。
  配置 Web 部署描述符(web.xml)。
  從一個模塊轉換到另一個模塊。
  
  雖然 Struts 應用程序很輕易應用,但要想在門戶環(huán)境中運行 Struts 應用程序的話,您還需要執(zhí)行其他的步驟。(參見參考資料)。
  
  
圖 6. Struts 應用程序中的多模塊支持

  
 使用 Struts portlet 實現頁面導航(圖六)

  創(chuàng)建獨立的 Struts 模塊和文件
  對于我們的樣本應用程序,我們創(chuàng)建了四個 Struts 模塊,以及它們自己的 Struts 配置文件、行為和 JSPs。這些 Struts 模塊是:
  
  address
  phone-numbers
  overview
  default.
  
  我們也配置了 web.xml 和 portlet.xml 文件,并使用 default 模塊執(zhí)行從一個模塊到另一個模塊的轉換。
  
  接下來,我們將會根據實現的需要講解我們的文件需要的改動。
  
  在 Struts 模塊中開發(fā)頁面導航
  我們在以下三個模塊中實現頁面導航:
  
  overview
  address
  phone-numbers.
  
  除了存在一些細微的差別以外,這些模塊中每一個的頁面導航開發(fā)任務幾乎都是相同的。因此,我們將講解實現 overview 模塊的頁面導航的任務,然后再描述一下其他模塊的實現任務與此的差別。此外,我們還會講解特定于 Struts 模塊的開發(fā)過程,該模塊是為 default 模塊而轉換的。在我們的實現中,default 模塊用于將控制權交給下一個適當的模塊;并不需要頁面導航。然而,由于它啟動其他模塊來執(zhí)行模塊轉換并且是導航結構的一個主要部分,所以我們這里也將它包括在內。
  
  在 Application Developer 中,我們創(chuàng)建一個支持 Struts Version 1.1 的 Web 項目,然后為開發(fā)任務創(chuàng)建文件,如下面的表 1 所示。
  
  表 1. 開發(fā)構件列表
  
 使用 Struts portlet 實現頁面導航(圖七)

  以下是表 1 所示構件的簡要描述:
  
  JSP 文件:
  我們開發(fā)了五個 JSP 文件:
  用于 default 模塊的 index.jsp 和 failure.jsp 文件;
  用于 address 模塊的 address.jsp 文件;
  用于 phone-numbers 模塊的 phone-numbers.jsp 文件;
  用于 overview 模塊的 overview.jsp 文件。
  操作:
  我們在 com.test.strutstest.actions 包中創(chuàng)建四個 Struts 操作。它們的類為:
  DisplayAction
  DisplayAddressInfoAction
  DisplayPhoneInfoAction

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 午夜精品视频免费观看 | 精精国产xxxx视频在线播放7 | 久久久久国产精品久久久久 | 成人不卡 | 天天草天天干天天射 | 日韩精品中文字幕在线播放 | 天天透天天狠天天爱综合97 | 免费一级毛片在线播放视频 | 久久久久久麻豆 | 亚洲影院在线 | 亚洲日本高清 | 99影视电影电视剧在线播放 | av免费在线网 | 欧美成人激情 | 911视频免费版 | 国产午夜电影 | 欧美日韩电影在线 | 黄色欧美精品 | 欧美黄色大片免费观看 | 精精国产xxxx视频在线野外 | 久章草在线视频 | 国产99久久久国产精品下药 | 国产毛片自拍 | 日韩字幕在线观看 | 久久最新网址 | 91 免费看片 | 一级一级一级一级毛片 | 欧美精品欧美极品欧美激情 | 成人在线视频黄色 | 久久亚洲视频网 | 成人精品久久 | 美女黄色毛片免费看 | h色网站免费观看 | 国产九色在线播放九色 | 91网页视频入口在线观看 | 精品国产九九九 | 一本色道久久99精品综合蜜臀 | 免费a级黄色片 | 91色琪琪电影亚洲精品久久 | 性爱视频在线免费 | 精品国产乱码久久久久久久 |