国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

集成JSF與BEEHIVE PAGE FLOW

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

  JSF對通過關聯組件和事件來構建頁面而說是非常棒的,但是,與所有現有的技術一樣,它需要一個控制器來分離出頁面間的導航決策,并提供到業務層的鏈接。它擁有一個基本的導航處理程序,可以用功能完備的處理程序來替換它。Page Flow為創建可重用的封裝頁面流提供了基礎,并可以與視圖層并行工作。它是一個功能完備的導航處理程序,將JSF頁面作為最優先的處理對象。本文將討論如何集成這兩種技術來利用二者的優點。

  構建Beehive/JSF應用程序

  要構建Beehive/JSF應用程序,首先要啟動Page Flow,然后添加對JSF的支持。起點是從基本的支持NetUI(Beehive中包含Page Flow的組件)的項目開始。根據指導構建基本的支持NetUI的Web應用程序。在本文中,我們暫且稱之為“jsf-beehive”,可以在 http://localhost:8080/jsf-beehive 上獲得。

  接下來,安裝并配置JSF。Page Flow可以使用任何與javaServer Faces 1.1兼容的實現,并針對兩種主流實現進行了測試:Apache MyFaces和JSF Reference Implementation。根據下面的指導在新的Web應用程序中安裝JSF:MyFaces v1.0.9及更高版本,JSF Reference Implementation v1.1_01,或者其他實現。之后,可以使用WEB-INF/faces-config.xml中的一個簡單入口啟動Page Flow集成,入口在<application>標簽之下,<navigation-rule>標簽之上:

<factory> <application-factory>  org.apache.beehive.netui.pageflow.faces.PageFlowApplicationFactory </application-factory></factory>

  添加了這些就為頁面流提供了一個機會,使其可以提供自己的JSF框架對象版本來定制其行為。通常來說,只有在使用頁面流功能的時候,JSF行為才會被修改;JSF的基本行為不會改變。

  基本集成

  JSF中頁面流的最基本用處是引發(調用)來自JSF頁面的動作。JSF頁面可以處理頁面內事件,而頁面流動作則是從一個頁面導航到另一頁面的方法。首先,在Web應用程序中創建一個名為“example”的目錄,在其中創建一個頁面流控制器類:

package example;import org.apache.beehive.netui.pageflow.Forward;import org.apache.beehive.netui.pageflow.PageFlowController;import org.apache.beehive.netui.pageflow.annotations.Jpf;@Jpf.Controller(  simpleActions={    @Jpf.SimpleAction(name="begin", path="page1.faces")  })public class ExampleController extends PageFlowController{  @Jpf.Action(    forwards={      @Jpf.Forward(name="sUCcess", path="page2.faces")    }  )  public Forward goPage2()  {    Forward fwd = new Forward("success");    return fwd;  }}

  在這個頁面流中有兩個動作:跳轉到page1.faces的begin動作和跳轉到page2.faces的goPage2動作。將goPage2作為一個方法動作(而不是簡單動作)的原因是稍后將會對其進行擴充。

  在構造頁面的時候,應當以.jsp為擴展名創建page1和page2;JSF servlet處理每個.faces請求,并最終跳轉到相關的JSP。所以,跳轉到page1.faces最終將顯示page1.jsp,如下:

<%@ taglib 

  從JSF頁面引發一個動作很簡單:使用命令組件的action屬性中的動作名字就可以了。在上面的例子中,commandLink指向goPage2動作。使用頁面流集成,這意味著goPage2動作會在example.ExampleController中運行。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乌拉特后旗| 湟源县| 建瓯市| 华亭县| 尚志市| 松滋市| 历史| 天长市| 德阳市| 盐山县| 谷城县| 岑溪市| 五指山市| 合川市| 竹北市| 楚雄市| 浦县| 乌审旗| 眉山市| 万全县| 兴山县| 高州市| 察雅县| 凌海市| 望城县| 子长县| 太原市| 怀化市| 共和县| 南投县| 江油市| 霍邱县| 象山县| 内江市| 东光县| 赣州市| 双牌县| 南郑县| 六枝特区| 黔东| 黄大仙区|