设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
中问网首页
我的收藏
站长博客
搜索
搜索
本版
帖子
用户
第一问答网
»
论坛
›
中问网
›
问答
›
利用 JSF 开发 Web 程序的优势有哪些?
返回列表
发新帖
利用 JSF 开发 Web 程序的优势有哪些?
[复制链接]
11
|
1
|
2011-3-19 12:49:01
|
显示全部楼层
|
阅读模式
回复
使用道具
举报
千问
|
2011-3-19 12:49:01
|
显示全部楼层
<pre id=\"best-answer-content\" class=\"reply-text mb10\">下面是我选择JSF而不选Struts的十大理由:
1.Components(组件)
2.Render Kits
3.Renderers
4.Value Binding Expressions(值绑定表达式)
5.Event Model(事件模型)
6.Extensibility(可扩展性)
7.Managed Beans(Dependency Injection 依赖注入)
8.POJO Action Methods
9.JSF is the standard Java-based web app framework (JSF是Java web应用程序的标准框架)
10.There\'s only one Struts(只有一个Struts)
Struts是一个开源产品,然而JSF是一个标准。这个细节常常被新的JSF学习者忽略,其实这是显而易见的,因为我们有多个JSF的实现。虽然JSF还很不成熟,但是我们已经有了2个优秀的JSF实现可以选择:Sun的参考实现和Apache的MyFaces。另一方面,我们只有一个Struts。
9.JSF is the standard(JSF是标准)
J2EE5.0要提供一个JSF的实现,这表明JSF不久将会无处不在。这可能与你无关,但是和工具供应商密切相关。现在大概有50个Java web应用程序框架,工具供应商不会情愿去支持一个特别的框架,但是他们会毫不犹豫的去支持一个标准。
而且不止供应商,开源项目也会迅速的聚集在JSF的四周,争先恐后的去实现相同的功能。比如说,直到我们去实现本质上和Shale的Tapestry差不多的视图的时候,我才知道Facalets。(从长远来看,我相信这种冗余是件好事,会给我们带来好处)
8.POJO Action Methods
Struts的行为是和Struts的API绑定在一起的,但是JSF的行为方法可以在POJPO中实现。这意味着你不用在表单和模型对象之间实现一个多余的行为层。顺便说一下,在JSF里面没有行为对象,行为在模型对象中实现。
但是也请注意一点:如果你愿意你也可以生成与JSF独立的行为对象。在Struts里面,你有Form Bean和Action Bean。Form Bean包含数据而Action Bean包含逻辑。OO狂会想去合并前2者,在Struts你办不到。但是在JSF中,你可以分开数据和逻辑,也可以合并到一个对象中,一切由你决定。
7.Managed Beans(Dependency Injection 依赖注入)
和Spring一样,JSF也使用了依赖注入(DJ)(或控制反转(IoC))去实例化和初始化Bean。Struts的确为你生成了Form Bean和Action Bean,但是JSF可以为你生成各种各样的Managed Bean。
6.Extensibility(可扩展性)
这个很重要。JSF有6个对象实现了这个框架的大部分功能,而且你可以很容易的用你自己的实现代替原有实现。比如你想加一个自定义参数在JSF表达式语言里面,或是添加一个自己的视图控制器以便于区分组件和HTML。事实上Shale实现了上面的功能。如果你还没有满足,JSF提供了几个地方你可以轻松的控制JSF的生命周期。Shale给你的会更多。
5.Event Model(事件模型)
JSF的事件模型使你可以对值改变,动作,JSF生命周期阶段变换等作出反应。在JSF1.1中,那些事件都是在服务器端处理的,这肯定是一个缺陷,好在JSF2.0计划支持客户端事件,拭目以待吧。
4.Value Binding Expressions(值绑定表达式)
在Struts中,你负责把数据从Form传递到模型对象。你实现的Action的execute方法是把Form作为一个参数。然后你再手动的把数据从Form Bean里面取出放到模型对象里面。你要为应用里面的每个Form做这些事情,然而在JSF里面,你只需像这样:#{model.property} 就够了,其他的交给JSF来处理。
3.Renderers
你有看过Struts的标签的源代码吗?它直接生成HTML。JSF组件标签什么都不生成,它和服务器上的一对component-renderer对应。Component维护组件状态,rendered负责获得视图。重点是renderers是可插拔的,即你可以根据自己需求实现然后替代掉默认实现。比如说我在NFJS上面的Felix谈话中举例说明了怎么去实现一个自定义的label renderer。你只需要配置你的renderer,JSF就会自动在你的应用程序里面使用他。
2.Render Kits
在几年前我曾经有份Struts咨询工作,我们必须同时支持浏览器和无线设备,非常痛苦。但是用JSF来完成那个任务非常容易,因为你可以生成你自己的render kit-为一种特定显示技术的renderers的集合-然后配置到JSF里面。
1.Components(组件)
组件是Struts和JSF之间最大的区别。就像Swing一样,JSF提供丰富的底层构件去开发组件然后添加到标准的组件集。那些底层构件让你很容易的生成自己的组件并且和别人共享。现在我们到处都能看到自定义组件跳出来,比如说Oracle的ADF和MyFaces,两者都提供了丰富的组件集,就像javascript日历,tree等等。
当然,组件只是一部分。典型的是,组件都和一个独立的renderer对应,这给我们带来了真正的好处(看第3条)。但是和JSF中的很多东西一样,你不一定要墨守成规。只要你愿意,你可以实现render自己的组件,虽然这样你会失去给组件加入别的renderer的能力。
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
千问
主题
0
回帖
4882万
积分
论坛元老
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
积分
48824836
加好友
发消息
回复楼主
返回列表
问答
热门排行
1
给女朋友网购衣服,给点建议
2
我喜欢的女的把我拉黑了、还说没有共同语言、
3
100级闪光艾菲亚怎么打败盖亚
4
我知道tx怎么解释先出女枪了【此贴会火】
5
树不太高,叶大深绿色,开非常大的白色花,有荷花那么大。请问有谁知道是什么植物?
6
徽章上面的粉丝名称能改吗?
7
成都信息工程学院银杏酒店管理学院哪个专业好
8
《艋胛2》 要计划筹拍么?主演是谁呢?
9
有一篇写奥黛丽赫本的日志的背景音乐是什么?
10
大哥可以再回答下我提的那个问题吗?非常感谢
11
明天我们毕业的体会与批注
12
明天3点半NBA直播地址
13
求一道初一下数学题
14
VB高手来
15
描写农村景色的作文
16
妖小七是谁?
17
江里有哪些生物
18
急!!gothic fiction 起源和特点 用英语回答 !! 500字左右 ! 谢谢啦 !
19
2010年士官学校考试报名时间是什么时候?
20
DNF剑魂里做完了阿尔伯特任务怎么还不能偷学技能啊????
21
桑托斯是哪个国家的球队,英文写法
22
干部身份 到底有什么用呢?
23
mtv真live 李健 张悬 下载
24
汇编程序问题
25
数学题麽
26
关于这套电脑配置的改动,pc达人帮帮忙。
27
2010年中天北京四中小升初考试时间
28
纸吸水银吗?
29
从杭州回江永怎样做啊
30
济宁驾校价格
31
谁能帮我找首歌啊?
32
我好象喜欢上了养女~有时候差点把持不住~怎么办啊~
33
眼球进化错了怎么办?
34
nokia 7100
35
数学你提问的上一题
36
wow下副本为什么没有经验
37
搜狗拼音输入法无法切换搜狗五笔,怎么办~~~
38
我想当歌手,应该练什么?详细一点
39
语法问题
40
你们的选择是什么 我的选择有错么
41
C++编程之17个人问题
42
点燃的蚊香应放在哪儿?
43
谢谢!我想帮我女儿起个名字!本人姓陈!谢谢!!!!!!!!!!!!!!!!!
44
我的部队驾照能转地方驾照吗
45
高压锅爆炸
46
设置访问权限的空间怎么进
47
这小段汉语翻译成英语,帮帮忙呀 大家
48
怎么重装win7系统
49
洒水车洒水的宽度是8米,每小时行40千米。它4小时洒水的地面为多少平方米?合多少公顷?
50
好看的动漫
51
石景山哪里有做鞋子彩绘的?
52
为什么吹完肺活量肺很难受?
53
有关庚饭 sj
54
一个男的问我跟那个男的好,是不是吃醋?
55
求台服能用的战士得宏命令 要一定能用得啊 别发国服得
56
女,姓罗 生于2010年2月21号下午5点35 想按八字取名
57
小孩可以天天喝金银花吗
58
急急急!!!求悠悠鸟邀请码!
59
DNF第六章圣骑士转天启者SP重置么
60
重庆哪有好的刮痧板和刮痧膏?
61
男的唱的很慢歌词那什么的月光那什么的伤
62
小学三年级语文下册的第26课一面五星红旗主要讲的是什么
63
秦皇岛mp4维修地点
64
龙海医疗卡一年的购药额度是多少?谢谢
65
鲁宾逊在岛上的10个问题啊,谁知道啊?拜托大家啦
66
连云港市工伤六级伤残工资问题咨询。
67
二十五年前的青岛电视总厂现在还有吗?
68
给女朋友买衣服……
69
为什么红楼梦中会有两个宝玉
70
谁能告诉我这个视频的相关信息
71
有没有比格式工厂更好用的格式转换工具
72
按Alt+v+e,老是打开360保险箱
73
谁借我一个迅雷会员账号
74
怎么样投篮才会准一点啊 我控制不好力度啊
75
帮忙把这封邮件翻译成比较地道的日语,谢谢啦
76
洛奇精灵装备
77
经典诵读有哪些
78
下图甲所示的电路中,电源电压保持不变,闭合开关S后,滑动变阻器的滑片P由a端滑动到
79
采菊东篱下, 下句是什么
80
谁给我个DNF火账号
81
雨后 一只蜘蛛艰难地向墙上已经支离破碎的网爬去的作文
82
电脑中毒后搜索不能用了
83
0.2cm的分度值的格尺
84
石油专业:钻井、采油、涉外。我选哪个比较好呢~~
85
摩托车彩灯装尾灯上怎么刹车不亮
86
如何查询手机流量
87
世界上最痛苦的事情是:小兰没有嫁给新一,宜静没有嫁给大雄,哭~~
88
求守护甜心全集
89
辛集车祸
90
2010江西九江退休人员涨工资问题
91
集成显卡能不能玩TRS
92
赛尔号闪光艾菲亚最高体力是多少?
93
大连理工大学城市学院哪个专业好
94
本牧5000g给SS买了把g杖,不知如何
95
为什么我的鬼泣4和真三OL没有声音
96
全部精灵合成公式
97
帮我姑娘起名字,谢谢大师
98
法国卡斯特 日照有总代吗?在哪里?
99
精忠报国岳飞传 怎么选择三线
100
求吸血鬼骑士第一季第七集插曲vampire knight main theme钢琴版的下载