<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
    使用JSF的人都知道,JSF本身是一個很優秀的Web Model 2框架, 具有很多優秀的思想.

    但是有些時候JSF的使用還是不是十分方便. 尤其是對于初學者而言, 常常被一些莫明其妙的問題搞得暈頭轉向.
    相信很多初學者都見到過這個Exception吧:

    嚴重: Servlet.service() for servlet jsp threw exception
    javax.servlet.jsp.JspException: Cannot find FacesContext

    當我在學習JSF的時候,看到這個Exception我找了半天都沒有發現我的代碼哪里錯了(代碼不可能出錯,因為是直接copy的書中的源代碼 呵呵), 后來不經意間才發現原來訪問頁面的URL錯了, 在JSF配置文件中配置的servlet映射為.jsf,所以訪問的URL應該是 .... index.jsf, 而不是.... index.jsp., 就這么一點疏忽就讓人白忙活了半天. 郁悶哦.

    隨著學習的深入,這種基本錯誤是很少再出現了(就算出現也可以馬上知道問題的根本), 但是JSF其他的一些限制又是讓人感到很郁悶的. 比如 Form數據的提交, JSF規范中為了維護服務端的組件樹 只能使用Post提交, 而不可以使用Get. 而Get方法在很多地方還是非常有用的.

    另外還有Faces API使用起來不是十分直接的問題, 要把一個數據放入到session中就要一大串的操作( FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put(name, val); ),讓人感覺很不爽.

    ....

    如果你經常遇到這些問題, 那么現在我將告訴你一個好消息, 有了Frails 這些問題都可以輕而易舉的解決了.

    我們先來看看Frails是什么?

    在Frails主頁上定義 http://frails.hexiao.cn/what-is-frails.html

    what is frails?

    Frails 是基于JSF上的一個開發效率和RoR可以向媲美的JavaEE框架 !

    Ruby On Rails(RoR)因為在開發web程序的高效性而風行一時(可能現在仍然很熱), 那些RoR的支持者說, RoR可以比java的開發效率高出10倍以上,我們對此觀點持懷疑的態度. 我們相信,如果有正確的開發方法來支持現在的Java web framework,則 Java web開發的效率 不會如此的低下.所以 我們研究了一下RoR的實現機制,來實現我們Java框架中的RoR. 因此, 我們提供一個在開發效率上和RoR可以媲美的JavaEE開發框架 -- Frails !

    知道了Frails是什么后, 我們再來看看Frails有什么特性, 能給JSF帶來什么功能上的增強.


    在Frails主頁上列舉了Frails的如下主要特性: http://frails.hexiao.cn/frails-features.html

    Frails(Java Server Faces On Rails)基于Java Server Faces (JSF),并將提供對 Hibernate和Spring的支持. 主要特征如下:

    Frails 讓開發者使用約定(習慣)和注解(annotations)來省略在 faces-config.xml 文件中 managed-bean 和 navigation-rule的配置.
    Frails 提供一個更簡單的方法來使用 Faces API.
    Frails 重定向非 faces 請求為一個 faces 請求,這樣可以避免因為URL輸入的疏忽導致的異常.
    Frails 提供一些預定義的 Managed Bean 基類讓開發者擴展 .
    Frails 可以讓開發者在 Managed Bean 中使用注解(Annotation)來支持AOP功能 ,如 函數攔截(method interception).
    Frails 提供 Managed Bean 屬性的injection 和 outjection
    Frails 中的Hibernate GenericDao 對象提供了基本的 CRUD 函數 和 其他一些有用(常用)的數據訪問函數.
    Frails 還提供了一些有用的注解(annotations)來簡化JSF的開發.
    Frails 完全支持 jsf 1.1 和 jsf 1.2 規范,并且可以自動的探測你使用的版本.
    Frails 提供了對action Method 和 Listener 函數的增強,在這些函數中現在你可以傳遞參數了.


    知道這這么多Frails的東東, 那么你不禁要問,如何使用Frails呢.

    這個是很簡單的. ? 你只需要在web.xml文件中添加下面的配置:

    <filter>
    <filter-name>FacesFilter</filter-name>
    <filter-class>net.sf.frails.filters.FacesFilter</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>FacesFilter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>


    然后把你下載的frails4jsf1.X.jar 放到類路徑中就可以使用了.

    現在可以使用了, 你不禁要問, 如果在使用過程中我遇到了問題, 要到哪里得到幫助呢,如果我有好的Frails改進建議要到哪里提議呢.
    關于frails的服務問題, 你可以到JavaCafe http://www.hexiao.cn/jsf/ 論壇的Frails專區中取得幫助.

    ok, 這次Frails 簡介就先到這里, 希望Frails能在你開發Java web app時給你帶來一絲清爽.


    資源:

    Frails英文主頁 http://frails.sf.net
    Frails中文主頁 http://frails.hexiao.cn
    Frails中文論壇 http://www.hexiao.cn/jsf

    posted on 2006-11-17 16:14 冰雨 閱讀(1828) 評論(3)  編輯  收藏 所屬分類: Opensource

    Feedback

    # re: Frails 介紹. 2006-11-25 03:12 dyerac in java...
    頂??!
    學長的作品哦  回復  更多評論
      

    # re: Frails 介紹. 2007-03-06 23:36 coodysk8er
    老大的作品啊
    最近在研究。。。。  回復  更多評論
      

    # re: Frails 介紹. 2007-08-14 14:43 在線翻譯公司
    有需要幫助的請登入我公司的網站 http://www.bjtranslate.com   回復  更多評論
      


    JSF中文技術文摘
    主站蜘蛛池模板: 亚洲综合在线一区二区三区| 久久精品国产亚洲av四虎| 亚洲中字慕日产2021| 亚欧色视频在线观看免费| 亚洲成人在线网站| 性无码免费一区二区三区在线 | 亚洲中文字幕久久精品无码喷水| 无码专区一va亚洲v专区在线| 自拍偷自拍亚洲精品情侣| 国产黄在线播放免费观看| 国产亚洲美日韩AV中文字幕无码成人| 亚洲福利在线视频| 久爱免费观看在线网站| 亚洲码在线中文在线观看| 99久久综合国产精品免费| 亚洲av无码有乱码在线观看| 亚洲色婷婷综合久久| 亚洲日韩中文字幕天堂不卡 | 亚洲AV无码专区日韩| h视频免费高清在线观看| 久久被窝电影亚洲爽爽爽| 亚洲人成人无码.www石榴| 免费欧洲毛片A级视频无风险| 国产l精品国产亚洲区在线观看| 亚洲乱码在线观看| 免费国产人做人视频在线观看| 亚洲黄色中文字幕| 夭天干天天做天天免费看| 免费人成视频在线观看免费| 久久综合日韩亚洲精品色| 日本一区二区三区免费高清| 久久亚洲国产午夜精品理论片| 亚洲自偷自偷在线成人网站传媒| 国产在线精品免费aaa片| 亚洲成人黄色在线| 亚洲国产成人久久综合一区77| 国产精品亚洲片夜色在线| 久久久久久精品免费免费自慰| 亚洲中文字幕无码一区 | 亚洲国产高清美女在线观看| 四虎免费大片aⅴ入口|