JSF和Struts的差别概述

    添加时间:2013-8-5 点击量:

    JSFStruts的差别概述,都采取taglib来处理惩罚默示层:在jsp页面中,二者都是采取一套标识表记标帜库来处理惩罚页面的默示和model层的交互。


      据说JSF的首要负责人就是struts的首要作者,所以二者的类似点还是有很多的。


      都采取taglib来处理惩罚默示层:在jsp页面中,二者都是采取一套标识表记标帜库来处理惩罚页面的默示和model层的交互。


      二者都采取了bean来作为和jsp页面对应的model层。该model层保存了jsp页面上的数据,同时可以作一些验证工作,在struts中就是FormBean,在JSF中就是back bean.


      都采取bean作为把握层,Struts中采取ActionBean来处理惩罚营业逻辑,对于简单的应用可以直接在ActionBean中编写营业逻辑代码,也可以调用别的的bean或者EJB来处理惩罚营业逻辑;对于JSF则采取backing bean来处理惩罚营业逻辑,同样,backing bean也可以直接编写营业逻辑或者调用其他的bean来处理惩罚营业逻辑。


      都采取xml设备文件来处理惩罚bean的设备,页面导航等题目,增长了体系的灵活性。


      都采取资料文件来处理惩罚国际化和本地化的题目。


      然而,二者的不合点也很多,下面分别申明:


      1、起首二者的侧重点不合,Struts侧重于把握层,侧重于如何分派和处理惩罚用户的恳求,所以默示层的taglib功能不敷强大。而JSF则侧重于默示层,实现 了多量的标准组件,容许开辟人员对默示层有更多的把握权,同时JSF实现了一个开放的架构,容许开辟人员创建本身的组件,或者在现有的组件上持续,开辟功 能更强大的组件。本人认为这是JSF大一个特点。(有点类似于vcl和。net组件)


      2、和jsp 对应的model层,在Struts中采取FormBean来保存用户输入的数据,根蒂根基上一般字段的类型都是String.并且可以进行简单的验证,当然 若是采取动态的FormBean就不克不及在FormBean中进行验证了。在Struts中,jsp和FormBean是慎密连络在一路的,只要写一个 jsp就必须对应一个FormBean,同时jsp上的每个组件都对应FormBean中雷同名字的字段。本人认为这里不太灵活,比如,开辟页面的时辰就 必须推敲后台的FormBean的实现,但此时若是该页面没有FormBean的化则法度运行时会失足。在JSF中,JSP页面中的组件经由过程value属 性和backing bean的字段接洽关系,如许就有斗劲大的灵活性,页面上的每个组件可以对应雷同的backing bean,也可以对应不合的backing bean(当然本人认为在一般的应用中,一个页面上的组件还是都对应到一个backing bean较好),并且在设计页面的时辰可以不推敲backing bean如何设计,可以在设计完页面之后再推敲backing bean的实现题目。


      3、关于数据验证,Struts可以采取在FormBean中的验证函数中进 行验证,也可以应用validator进行验证(关于这种验证办法,本人没有测试过,不知结果如何,有经验的伴侣指教!)。在JSF中,供给了一些标 准的validator.可以对输入的数据做一些简单的验证,例如验证数值数据的局限,字段是否必填等。但其验证的反馈信息为英文。若是该信息不克不及自定义 的化,那么针对国内的应用就不太合适了,今朝本人还没有找到该反馈信息是否可以或许自定义的办法。别的对于input类型的组件可以经由过程validator属 性接洽关系到backing bean的一个验证办法上。在事务处理惩罚办法中进行验证也是一个办法。

    文艺不是炫耀,不是花哨空洞的文字堆砌,不是一张又一张的逆光照片,不是将旅行的意义转化为名牌包和明信片的物质展示;很多时候它甚至完全不美——它嘶吼、扭曲,它会痛苦地抽搐,它常常无言地沉默。——艾小柯《文艺是一种信仰》
    分享到: