网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  jsf中使用自定义navigation     
  文章作者:未知  文章来源:水木森林  
  查看:74次  录入:管理员--2007-11-17  
     过去的一段时间,一直有人拿 jsf 的 navigation 当靶子,批评 jsf,其实细心的人会发现,在 java 世界,这样的批评常常是很片面的,几乎所有成熟的应用框架,在除了实现某些默认的功能外,还保留一些扩展的接口,提供了相当的扩展性,比如说 struts, spring 等很多的 web framework 都提供了很多扩展的接口,当然,jsf 也一样。jsf 的 navigation 中,我们一个 page 都有一个 from-view-id ,它的每个 navigation 出口 to-view-id 都必须定义,所以在不同的 from-view-id 中会有一些重复的 to-view-id,并且每当有一个新的 navigation 路径,我们都必须配置这个路径,才能够在 action 中正确的转向我们这个路径。很多情况下,这样的方式用起来都不是很爽,我们需要有一些简单的方式,我们在 action 事件中,直接 return 一个 page 的 path 就会直接 forward 到这个 page ,在用的时候会方便一些,有没有办法去做到呢?

  答案是肯定的。

  在 jsf 的 specification 中 7.4 中对 naviation 已经有很明确的规定了,在 jsf api 中,提供了 navigationhandler 这样一个抽象类。

  abstract void handlenavigation(facescontext context, java.lang.string fromaction, java.lang.string outcome)

  我们只要实现这样的抽象方法,就可以实现一个自己定制的 navigation 实现,当然我们现在用的只是一个 default 的实现了,如果你希望按照你自己的想法去 navigation 你的 application,那么很简单,你只要实现你自己的 handlenavigation 方法就可以了。

  接着,需要在 face-config.xml 的 application 部分加入一些配置:
  <application>
    <navigation-handler>
        your navigation handle implement
    </navigation-handler>
  </application>

  试试看,在你的应用中,是不是已经按照你的 navigation 在走了呢?

  在 http://www.thearcmind.com/confluence/display/spribernatesf/spring+jsf+contribution+round+2+navigationhandlersupport%2c+prefixsuffixnavigationhandler 这篇文档中,给了我们一个参考的实现,它提供了两种方式来实现它的导航,我把相关的代码附在本文后面,大家可以参考并很容易把它应用到你自己的应用中去了。

http://www.blogjava.net/files/steady/navigation.rar
 
 
上一篇: java理论与实践:再谈urban性能传言    下一篇: java动态代理实现aop
  相关文档
在实际开发中教您netbeans的使用图解 11-17
深入解析java的新特性assertion 11-17
enterprise javabeans组件慨述(1) 11-17
java环境中封装多midiet程序 11-17
java开发指南--servlets和jsp篇 11-17
用java实现自动在数据库表中生成id号 11-17
robocode 高手的秘诀:圆周瞄准 11-17
java核心编程:卷i——学习小记 11-17
getparentfoldername 方法 11-16
spring framework标记库初学指南 11-16
谈谈java语言的垃圾收集器 11-17
值的关注的java开源项目(原创) 11-17
类的基本组成 11-17
jdbc基础教程之连接 11-16
getminutes 方法 11-16
java q&a: 使用observer模式 11-17
java入门教程:运算符和表达式 11-17
如何在java中使用robot类 11-17
eclipse插件之weblogic plugin 2.0.0 11-17
javac-----java编程语言编译器 11-17
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
技术电话:13616026886
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息