struts2整合jsf.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
struts2整合jsf

Struts 2整合JSF 17.3 Struts 2整合JSF 目前基于JSF规范较成熟的框架有两个,一个Sun的JSFUI,另一个是Apache的MyFaces框架。因为Struts 2提供了对MyFaces更好的插件支持,因此本示例采用Apache的MyFaces。整合之前让我们先来比较一下这两种表示层的框架。 17.3.1 Struts 2整合JSF的优点 下面从不同方面比较一下Sturts 2与JSF各自的特点。 首先,在标签库方面,Struts 2的标签库相对要少一些,且不可以自定义;而JSF可以自定义标签。JSF框架拥有丰富的页面组件,如果需要的话可以自己编写相应的组件,或者扩展组件;而在JSP的页面中JSF提供了页面验证标签,可以做简单的长度和类型的验证。Struts 2的验证可以有两种方式,form验证与validator验证,功能上要比JSF强大。JSF的组件都是绑定到Bean的,而且数据验证的方法也可以绑定,这一点可以增强验证的功能。而对于验证的错误提示信息,它们都提供了国际化,使得验证更人性化。 其次比较一下导航,二者之间的导航功能的相同点是都通过在XML文件中配置导航规则。Struts 2的XML中配置页面跳转的类型,如转发,重定向,由Action返回的字符串来决定导航的目标;而JSF在导航规则中设定页面导航,当某个页面请求到来时,根据导航规则调用指定的Action方法进行处理,并返回一个逻辑视图,然后跳转到与逻辑视图对应的页面。JSF同时支持在页面中绑定按钮触发Action的具体方法,导航原理也是一样的。 最后比较一下Struts 2与JSF处理请求的方式。Struts 2调用指定的方法处理请求(如果没有指定具体方法则默认调用excute方法)。JSF采用了普通的POJO类作为它的Action,将Action类绑定到页面组件,通过值变监听与事件监听进行请求处理。相比之下,JSF处理请求的方式要比Struts2复杂,不方便系统升级。 总而言之,如果将JSF做为Struts 2的视图层,用Struts 2的Action做模型,可以开发出完美的应用系统。 接下来就将讲解Struts 2与JSF 的结合使用。 17.3.2 Struts 2与JSF整合过程 每种框架都有它独到的设计之处,Struts 2的可扩展性使得它的生命力非常顽强。Struts 2提供了多种框架的插件包,它与MyFaces整合就是利用插件来实现的。下面我们介绍如何进行二者的结合应用。 首先下载Struts 2的JSF插件,下载地址是/download.html。目前最高的插件版本是2.0.11,我们使用这个最新的版本与myfaces进行整合。 Apache的MyFaces下载地址是./download.html,目前的最高版本是1.2.2,本示例使用的是1.1.5。下载后得到名为myfaces-core-1.1.5的压缩文件,将该文件解压,得到lib包下的运行库文件(.jar文件)。 17.3.3 整合应用实例(1) 2008年是奥运年,因此我们采用目前最流行的奥运啦啦队员的选拔活动为主题,设计一个Struts 2+JSF应用的示例。 奥运啦啦队员选拔队员的设计分为3种功能:增加选手、查询选手、修改选手。 按如下的顺序创建示例程序。 (1)配置环境:配置Struts 2+JSF整合过程的运行环境。 (2)配置struts.xml文件:配置JSF拦截器与请求的Action。 (3)创建页面:注册选手页面,显示所有选手列表页面,修改选手页面。 (4)创建JavaBean。选手信息类PlayerInfo与控制器类OlympicAction。 (5)配置Web应用文件:配置Struts 2请求转发控制器。 (6)发布运行:演示发布运行后的结果页面。 下面详细介绍各个环节的实现过程。 (1)配置应用程序运行环境。 添加Struts 2核心资源包、Struts 2的JSF插件包、MyFaces资源包。 (2)配置struts.xml。 利用Struts 2+JSF开发视图层,需要的配置文件是struts.xml。这个文件配置信息分为两个部分,一个是JSF拦截器的配置,另一个是Struts 2的Action配置。 首先看一下JSF拦截器的配置: 在struts.xml文件中需要配置JSF的拦截器,使得所有的JSF的请求都能被正确处理。这个拦截器在Struts的插件包中已经定义好了,继承这个包就可以使用这些拦截器。拦截器的配置如代码17-17所示。 代码17-17 struts.xml中JSF拦截器的配置 !-- 重写拦截器,将其命名在包myJSF中 -- package name=myJSF extends=jsf-default interc

文档评论(0)

pangzilva + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档