<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Ryan's Java world!

    something about Java and opensource!

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      51 Posts :: 25 Stories :: 59 Comments :: 0 Trackbacks

    原文:http://www.theserverside.com/tt/articles/article.tss?l=GWTandJSF

    翻譯:icess http://blog.matrix.org.cn/page/icess? 討論

    Google Web Toolkit (GWT) 吸引了一些開發者的注意.因為使用它你可以很容易的添加AJAX Web 2.0功能到你的程序中. GWT的設計師努力隔絕用戶和JavaScript打交道.你只要使用GWT就可以了,不需要知道如何使用JS. GWT 通過從java代碼來產生JS代碼的\方式 實現了創建高級客戶端JS小組件(client-side JavaScript widgets)的任務.

    與此同時, JavaServer Faces (JSF)聚集了愈來愈多的成為通用服務端web框架的要素.JSF成功的主要原因是:自頂向下的基于組件的方式來開發web程序. 同時JSF帶有自己標準的隨時可用(out-of-the-box)的UI組件 , 它被設計為簡單的包含其他組件庫(it is designed for the easy inclusion of other component libraries).

    然而,這兩項技術是不可思議的使他們自己獲益,他們兩個相互結合的非常好(相互互補). GWT?不知道服務端的狀態( server-side-agnostic),然而 JSF's基于組件的結構可以很容易的適應任何組件的渲染.在這篇文章中,我們將討論 (首先通過一個step-by-step 的例子)一個促進這兩個技術互補的新框架.

    ??G4jsf 已經成為Ajax4jsf開源項目的一個子項目了 (https://ajax4sf.dev.java.net) ,有它來產生這種集成庫.

    GWT和JSF之間看起來是相互競爭的技術,而使用G4JSF則看起來是很自然的互補技術.而G4JSF的任務就是使這種互補關系的技術看起來更自然一些.

    關于G4jsf

    庫文件包含兩個部分:

    • ??G4jsf組件開發包( Component Developer Kit)包含 項目骨架產生器.
    • 一個?run-time library 提供在GWT widgets和JSF環境之間的過渡作用.

    G4jsf 注意了JSF 和 GWT 兩種技術的發展過程\.對于 GWT, ?widgets仍然在主機模型中開發,并且在使用 Google browser來調試. ?GWT?項目結構包含 /client, /public,?和 /server 包, 并且還在繼續維護.

    ?G4jsf 組件開發包(G4jsf CDK)產生的組件包含兩個部分.一是 包含客戶端行為的GWT widget?.二是負責 GWT widget?和 JSF 環境之間的通信問題.

    G4jsf CDK 使用Facelets方式來寫JSF組件. 它比不同的JSP方式要簡單, 使用普通的方式要創建一個TLD文件和一個Tag類.使用Facelets的方式是相當直接的.

    示例程序?

    在這篇文章中,我們將一步一步的通過一個簡單的"Hello, World"?例子來講述G4JSF的主要功能.我們也創建一個實際的例子,a4j-gwtdemo.?在這里 http://livedemo.exadel.com/a4j-gwtdemo/?可以看到該例子.

    你可以從Ajax4jsf示例頁面上下載到示例的源代碼和war部署文件 .https://ajax4jsf.dev.java.net/nonav/ajax/ajax-jsf/download.html#examples?文章描述的最終示例版本在哪里也可以下載到.

    雖然我們使用專業的工具(大部分是Ant)來建構這篇文章中的示例,但是這些例子并不需要任何特殊的開發工具,你只需要產生一個標準的Java項目就可以了,只要注意一個非常重要的關于 GWT compiler的問題就可以了.它產生組件的JavaScript代碼,這些代碼應該在META-INF/gwt?文件夾下面 (在 WEB-INF/classes中). ?我們建構代碼的compile.js目標啟動編譯器并且把結果放到一個 JavaSource 目錄中. 確定你的工具copy這些代碼到deployable code中.

    下載和設置?

    1. 訪問https://ajax4jsf.dev.java.net/nonav/ajax/gwt/gwt-cdk.html 來下載G4jsf CDK.

    為了使用G4jsf CDK, 你需要Google Web Toolkit SDK. 由于版權問題請到這里單獨下載http://code.google.com/webtoolkit/download.html.

    2. 保存GWT SDK? .

    3. 把G4JSF CDK中的??build.properties.sample?重命名為 build.properties,打開它,把gwt.home改為你的本地GWT 主目錄.

    例如,你把 Google Web Toolkit SDK 解壓到:
    D:/gwt-windows-1.1.0
    你應該把build.properties 文件中的GWT.home改為下面的代碼:
    gwt.home=D:/gwt-windows-1.1.0

    4. 編輯,保存文件

    初始化工作已經做好了,下面來產生項目框架.

    產生一個項目框架?

    在剛才的目錄下的build文件中有個 "create-component" target. 它需要倆個運行參數:

    out

    產生的項目代碼文件存放的目錄.路徑的最后一部分為項目的名字

    m odule

    ?GWT module的全限定名. 產生的JSF 組件類型將有同樣的名字.

    讓我們命名模型為?demo.gwt.HelloWidget 保存項目的名字為, KickStart, 在D:/workspace/ 文件夾下. (Of course, you can change any of these.)

    5.使用下面的命令運行ant:

    ant -Dout=D:/workspace/KickStart -Dmodule=demo.gwt.HelloWidget create-component

    Ant應該產生了該項目文件

    6. 導航到項目目錄.

    "Hello, world!" with GWT

    讓我們來激活我們的項目.我們在標準的GWT Hosted Mode中來看看效果,在下個部分中將在servlet container中 來允許該例子.

    7.打開 JavaSource/demo/gwt/client/HelloWidgetEntryPoint.java文件.

    它包含一個?HelloWidgetEntryPoint 類, 里面有個返回null的方法.

    8. 使用下面的代碼替換該方法:

    public class HelloWidgetEntryPoint extends ComponentEntryPoint {
    
     protected Widget createWidget(final String id) {
      
       Button btn = new Button("Click me", new ClickListener() {
            public void onClick(Widget sender) {
             Window.alert("Hello, World");
            }
      });
      
      return btn;
     }
    } 
    

    9. 保存文件,到ant文件夾下面.

    Hosted Mode

    10. 使用shell目標啟動ant:

    ant shell

    ??Google Toolkit Development shell 和 Google browser 啟動了.在browser中顯示了我們剛才創建的button.如果你點擊button ,一個帶問候消息的警告框出現了.

    ?Google browser包含一個 ?"Compile/Browser"?按鈕.如果你點擊它,你可以在你默認的瀏覽器中查看該示例. ?

    目前還沒有任何JSF代碼攙合進來.到此為之我們只是在使用 "Hosted Mode."你可以在該模式下開發和調試你的 GWT widget . 如果你已經有了開發?GWT的經驗了,那么你應該很熟悉它了. G4jsf CDK 的處理過程和這里是一樣的.

    Run-Time Mode

    下一步是在JSF 環境中運行該示例.

    11.使用 "war" target啟動ant:

    ant war

    ant創建一個文件, build/KickStart.war. 他是一個標準的JaveEE Web 文件.

    12. 把它部署到服務器中.

    例如,復制?KickStart.war到 tomcat的webapps 文件夾下.

    運行該項目 就可以看到同樣的效果,但是運行在JSF環境中我們稱它為 ?"Run-Time Mode."我們已經把 ?GWT widget 包裝為JSF 組件了.這才是集成的第一步.

    ?

    				討論
    		
    posted on 2006-09-06 17:51 冰雨 閱讀(1381) 評論(1)  編輯  收藏 所屬分類: Opensource

    Feedback

    # re: 使用G4JSF集成 Google Web Toolkit 和 JSF(1) 2007-08-14 14:40 同聲翻譯公司
    您好,我們公司是一家中國境內的專業翻譯公司,從事各專業翻譯服務,包括筆譯、口譯、同聲傳譯和同聲傳譯設備租賃等。我們需要招聘兼職翻譯、同傳譯員和外籍英文校對人員,不知道是否有時間。

    希望有機會合作.
    郭先生

    北京華譯網翻譯公司
    中國專家翻譯網
    地址:北京海淀區太陽園17號樓405室(北三環西路大鐘寺東側)郵編:100098
    電話:010-82115891 82115892 傳真010-82130386
    上海:上海漕溪北路38號20G (東方商廈后面實業公寓南樓)
    電話:021-34240860 34240925 傳真:021-34240925

    同傳租賃 同聲傳譯翻譯公司 同聲傳譯設備租賃 同聲傳譯 同聲傳譯設備租賃 同傳租賃 北京同傳設備租賃 上海同聲傳譯設備租賃 同聲傳譯
      回復  更多評論
      


    JSF中文技術文摘
    主站蜘蛛池模板: 国产精品亚洲天堂| 亚洲高清有码中文字| 午夜在线免费视频| 免费国产一级特黄久久| 亚洲heyzo专区无码综合| 色播在线永久免费视频| 亚洲精品宾馆在线精品酒店| 在线看片人成视频免费无遮挡| 亚洲精品第一国产综合野| 成人黄页网站免费观看大全| 亚洲日韩AV无码一区二区三区人| 搡女人免费视频大全| 激情无码亚洲一区二区三区 | 1000部啪啪毛片免费看| 亚洲男人第一av网站| 国产精品视频免费| 亚洲熟女综合一区二区三区| 成年人免费观看视频网站| 美女羞羞喷液视频免费| 日韩亚洲变态另类中文| 污污网站免费观看| 精品亚洲AV无码一区二区三区| 日韩在线免费看网站| 国产精品成人69XXX免费视频| 人人狠狠综合久久亚洲88| jjizz全部免费看片| 亚洲成AV人片高潮喷水| 亚洲综合在线另类色区奇米| 污污网站18禁在线永久免费观看| 亚洲宅男天堂a在线| 又粗又硬又黄又爽的免费视频| 国产精品偷伦视频免费观看了| 久久精品亚洲精品国产色婷| 女人18一级毛片免费观看| 一区二区三区在线观看免费| 亚洲情a成黄在线观看动漫尤物| 无码高潮少妇毛多水多水免费| 一级做a爰片性色毛片免费网站| 少妇中文字幕乱码亚洲影视| 国产美女a做受大片免费| 免费国产成人α片|