您的位置:首页 > Web前端 > JavaScript

浅谈JSF的两大两点:面向组件编程和事件驱动模式

2007-07-19 11:26 746 查看
最近做完了一JSF框架开发的大型项目,有感于对JSF框架的使用。
JSF的两个大亮点就是:
面向组件编程和事件驱动模式,
1.面向组件(component)模式,这里可以有两层意义上的组件,一个就是JSF支持的UI组件(不同的支持厂商会有不同的UI组件实现,比如apache,Oracle的),还有一种意义上的组件,就是JSF框架的开放性――让用户定义自己的组件,这种组件包括在lifesicle上的一些组件,比如刚才说的UI组件,validator组件,handler组件等。
2.事件驱动模式,是相对于struts的MVC模式而言。Struts里,一个form只能对应一个Action(dispatchAction),也就是说,在struts里,一个表单只能对应一个事件,struts 这种事件方式,教做application event,而application event和component event 相比,是一种粗粒度的事件。
Struts里,表单对象ActionForm是一种对象,代表了一个应用,这个对象常常包含了页面上的所有字段,因此一个表单对应一个事件,那当我们需要将粒度细化到字段一级的时候,struts本身就不能满足需求了,往往需要使用javascript。大量的脚本充赤在页面上,显然不是很高明的做法。
而事件驱动模式,则是方法一级的。因为JSF里有了valuechangeListener的帮助。
事件驱动成了可能。
JSF允许为组件提供两个事件,Value Changed listener 和 action。从JSF的活动周期来看的话,valuechanged listener是在action之前的。所以。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐