Chords
Endeering Chords Make Melody

2007年3月15日

使用Frails快速搭建Spring+Hibernate+JSF项目
     摘要: 本文主要介绍了如何利用Frails框架进行快速开发。在本文中我们的目标是架构起一个Spring+JSF+Hibernate的项目,并且实现后台代码。您会发现,原本仅仅实现一个Spring框架就要话很长时间的“痛苦”过程,在Frails框架和模板的帮助下,几乎喝杯咖啡的功夫就可以搞定了。您甚至会发现,不需要写任何SQL或者数据库相关代码就能够实现几乎可以覆盖全部的数据库操作需求。通过本文,您一定会喜欢上在Frails框架帮助下快速开发的感觉。  阅读全文
posted @ 2007-04-29 19:53 Coody Sk8er 阅读(3364) | 评论 (5) | 编辑 收藏
 
Frails使JSF成为主流!
长久以来,JSF一直没有成为WEB框架的主流,不仅是遗留系统的原因,JSF原始的标准并没有使得开发简化和清晰。一直不断有这样或者那样的小问题阻碍着JSF成为绝对主流。

        事实上,JSF的目标是相当不错的,希望代码人员能和美工分离,并且能够快速的开发。但是其中的一些有待解决的问题,貌似与初衷相违背:烦琐的配置,比较依赖开发工具,不够灵活等等。直到Frails这个JSF框架的诞生,JSF以往的烦恼都解决了。Frails能帮助你快速的开发JSF,效率可以和ROR媲美!

        你可以在Souceforge找到这个项目 https://sourceforge.net/projects/frails 。中文站为http://frails.hexiao.cn/ 。 目前Frails的最新版本是1.2,不过马上2.0就要发布了。
  
  Frails的特性如下:
  • 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的文章。不过先在这里简单的展示一下Frails的几个特性,如果你要详细的察看使用方法,请到 http://frails.hexiao.cn/user-guide.html

不需要配置faces-config.xml
       再也不需要在faces-config.xml里一个个的写导航规则,注册ManageBean了。在Frails框架下注册一个ManageBean只需要在Bean的Class文件前加上@DefMbean这样的Annotation就可以了。而导航会根据一定的导航规则实现。比如导航去index.jsp就可以直接返回"index"就可以了,当然,还有更灵活的方式。


轻松实现GET
        URL里加上参数-值对能够轻松的解析出来了,甚至不需要写方法。在一个String属性前加上@Param(name=paramName)后,这个属性就自动获得来自URL里paramName的值。如:

@Param(name="paraName")
String paVa;

URL是./xxx.jsp?paraName=Yes 那么paVa的值就是Yes。
       
        而在一个无返回方法前加上@PreRender后,这个方法将回在页面渲染前调用,提前获取一些相关的信息。如:

@PreRender
public void preRender()
{
    
//do something for rendering the page
}


  当然了,Frails提供了让方法在各个声明周期得到调用的Annotations,不仅仅是预渲染。


从烦琐的验证中解脱
        Frails使得你能在申明一个属性的时候就能快速简单的加上一些限制条件,成为这个属性的验证器。如下

@Prop
    @ValidateNumber(required 
= true, max = "33", id = "indexForm:id", message = "error.id.invalid")
    
int id;

       这样就使得在setID的时候根据需要进行验证,而不必再写validate方法。


使用简单、功能强大的JSFHelper
        例如,如果一个对象要放入HttpSession. 使用标准的 Faces API, 代码如下:

  FacesContext.getCurrentInstance().getExternalContext()
  .getSessionMap().put(name, val); 

        如果使用 JSFHelper,代码是如此的简单:

JSFHelper.putIntoSession(name, val);

        当然,JSFHelper还有很多其他的功能。如导航功能,能将页面之间的数据最大化独立开,之间的联系只需要规定有什么属性就可以了。(以后会详细介绍:Frails下网站快速开发模式)

还有很多特性,帮助你快速开发JSF。当你真正体验过Frails后,你就回发现JSF一统天下的时代的来临!

posted @ 2007-03-15 01:08 Coody Sk8er 阅读(3055) | 评论 (8) | 编辑 收藏
 
 
<2007年3月>
日一二三四五六
25262728123
45678910
11121314151617
18192021222324
25262728293031
1234567

 导航

  • BlogJava
  • 首页
  • 发新随笔
  • 发新文章
  • 联系
  • 聚合
  • 管理

 统计

  • 随笔: 6
  • 文章: 0
  • 评论: 27
  • 引用: 0

常用链接

  • 我的随笔
  • 我的评论
  • 我的参与
  • 最新评论

留言簿(1)

  • 给我留言
  • 查看公开留言
  • 查看私人留言

随笔分类(6)

  • Frails(2) (rss)
  • GWT (rss)
  • JDK6(1) (rss)
  • NetBeans(1) (rss)
  • SCJP (rss)
  • Software(1) (rss)
  • SUN(1) (rss)

随笔档案(6)

  • 2007年4月 (1)
  • 2007年3月 (1)
  • 2006年12月 (4)

相册

  • Event Shot
  • Screen Shot

JAVA博客

  • dyerac 的天天天蓝 (rss)

必须要的

生活博客

搜索

  •  

积分与排名

  • 积分 - 15826
  • 排名 - 1952

最新评论

  • 1. re: 使用Frails快速搭建Spring+Hibernate+JSF项目
  • 我要好好看,谢谢你的 努力!
  • --liang
  • 2. re: 使用Frails快速搭建Spring+Hibernate+JSF项目
  • 正在学习,非常好,可惜jsp页面及后台数据库脚本不全;如有例子的源文件包则更好。
  • --cuy
  • 3. re: 使用Frails快速搭建Spring+Hibernate+JSF项目[未登录]
  • 使用Frails要怎样配置环境呀,下什么包
  • --lucia
  • 4. re: 使用Frails快速搭建Spring+Hibernate+JSF项目[未登录]
  • 好東西啊
  • --simon
  • 5. re: Frails使JSF成为主流!
  • 评论内容较长,点击标题查看
  • --HEDY

阅读排行榜

  • 1. 体验NetBeans Visual Web Package (一)……轻松实现JSF的GET请求(4104)
  • 2. 使用Frails快速搭建Spring+Hibernate+JSF项目(3364)
  • 3. Frails使JSF成为主流!(3055)
  • 4. 优秀软件开发人员的五个好习惯 —— 译自 java.net(2282)
  • 5. SUN技术开放日-武汉站(1959)

评论排行榜

  • 1. Frails使JSF成为主流!(8)
  • 2. 优秀软件开发人员的五个好习惯 —— 译自 java.net(6)
  • 3. 使用Frails快速搭建Spring+Hibernate+JSF项目(5)
  • 4. SUN技术开放日-武汉站(5)
  • 5. 体验NetBeans Visual Web Package (一)……轻松实现JSF的GET请求(3)

Powered by: 博客园
模板提供:沪江博客
Copyright ©2025 Coody Sk8er