`
jones
  • 浏览: 51346 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

JSF RI中实现Seam版的导航处理

    博客分类:
  • JSF
阅读更多

        用过seam的人都知道seam中支持action如果返回形如‘/xxx.xhtml’的导航字符串的时候会直接转到这个页面,而不管faces-config.xml中是否有这样的一个导航规则,这个对JSF的小改动对那些页面是动态选择的情况非常适用,比如你的页面地址是从数据库中获取的。
其实在JSF中实现这个小特性是非常简单的,只需要扩展一下JSF提供的默认导航处理器就可以了。

java 代码
  1. /**  
  2.  * 扩展JSF默认导航处理器,支持形式为'/index.faces'的outcome,直接定向到这个页面  
  3.  *   
  4.  * @author jones  
  5.  *   
  6.  */  
  7. public class MyNavigationHandler extends NavigationHandlerImpl {   
  8.   
  9.     @Override  
  10.     public void handleNavigation(FacesContext context, String fromAction,   
  11.             String outcome) {   
  12.            
  13.         if(outcome != null && outcome.startsWith("/")){   
  14.                
  15.             Application application = context.getApplication();   
  16.             ViewHandler viewHandler = application.getViewHandler();   
  17.             UIViewRoot newRoot = viewHandler.createView(context,outcome);   
  18.             context.setViewRoot(newRoot);   
  19.                
  20.         }else{   
  21.             super.handleNavigation(context, fromAction, outcome);   
  22.         }   
  23.            
  24.     }   
  25.   
  26. }  
分享到:
评论
1 楼 bigshell 2008-05-18  
这个不错,很有价值的,想来当初也碰上需要动态导航的情况,后来只好用别的办法绕过去的~~~

相关推荐

    JSF Java Server Faces (JSF)框架

    JSF是一种用于构建Java Web 应用程序的标准框架(是Java Community Process 规定的JSR-127标准)。JSF(Java Server Faces)技术为开发基于网络用户界面的Java开发者提供了...sun-ri、myfaces、icefaces、richfaces、seam

    Seam2.0GA 中文开发指南

    由于Seam与JSF紧密集成,因此在JBoss 4.0环境下需要手动安装JSF 1.2 RI(参考实现)来支持Seam应用的运行。 #### 3. 上下文相关的组件模型 **3.1 Seam上下文** Seam提供了多种上下文来管理应用的状态,包括无状态...

    jsf框架

    - Java SE 5 或更高版本:由于JSF框架是基于Java标准版构建的,因此需要一个兼容Java SE 5或更高版本的JVM来运行。 #### 支持的JavaServer Faces(JSF)实现 - MyFaces:这是一个开源项目,提供了完整的JSF规范实现...

    seam2.0 中文文档

    - 介绍了如何在JBoss AS和JSF1.2 RI环境中部署和运行Seam应用。 #### 二、使用Seam-gen起步 - **准备活动**: - 需要进行环境配置,包括安装必要的软件等。 - **建立一个新的Eclipse项目**: - 通过Eclipse IDE...

    JBoss Seam 工作原理、seam和hibernate的范例、RESTFul的seam、seam-gen起步、seam组件、配置组件、jsf,jboss、标签、PDF、注解等等

    1.3. Seam 中的可点击列表:消息示例............................................................................................................................. 27 1.3.1. 理解代码.........................

    jboss seam 教程

    - **使用JSF 1.2 RI**:提供了如何在JBoss平台上使用JSF 1.2参考实现来部署和运行Seam应用的具体步骤。 #### 三、结语 通过以上内容的学习,读者可以全面了解JBoss Seam框架的核心功能和技术特点,掌握如何使用...

    richfaces参考手册

    - **JSF实现与框架支持:** 支持Sun JSF RI、Apache MyFaces等JSF实现及框架。 - **服务器支持:** 包括JBoss AS、GlassFish、WebLogic等主流应用服务器。 - **浏览器兼容性:** 支持最新版本的Chrome、Firefox、...

    richfaces_reference的相关文档

    - **动作与导航**:处理用户交互,实现页面间跳转和状态管理。 - **JavaScript交互**:利用原生JavaScript扩展组件功能,实现更复杂的前端效果。 - **迭代组件属性**:配置迭代组件的Ajax属性,实现动态列表和表格...

    richfaces_reference

    手册深入探讨了如何针对不同的开发环境调整RichFaces的配置参数,包括Web应用描述符参数、特定JSF实现的设置(如Sun JSF RI、Apache MyFaces),以及对Facelets、JBoss Seam、Portlet、Sybase EAServer、Oracle AS/...

    RichFaces 3.3 帮助文档(英文)

    - **支持的JSF实现与框架:** 支持如Sun JSF RI、Apache MyFaces等主流的JSF实现。 - **支持的服务器:** 包括JBoss AS、Tomcat、WebLogic等常见Web服务器。 - **支持的浏览器:** 明确指出支持的浏览器类型及其版本...

    richfaces3.2用户手册的pdf版

    - **动作和导航**:处理用户的交互行为并实现相应的逻辑处理。 - **JavaScript 交互**:利用JavaScript 增强页面的交互效果。 - **迭代组件的 AJAX 属性**:针对列表等动态内容的优化策略。 - **其他有用属性**...

    richface 官方手册

    - **支持的Java Server Faces实现与框架**:包括不同版本的JSF实现(如Sun JSF RI、Apache MyFaces等)以及相关的开发框架。 - **支持的服务器**:列举了兼容的Web服务器或应用服务器列表,这对于部署应用程序至关...

    richfaces技术文档

    针对不同的运行环境,如Sun JSF RI、Apache MyFaces、Facelets、JBoss Seam以及Portlet等,RichFaces提供了详细的配置指南,帮助开发者根据实际需求调整应用设置,优化性能,提高安全性。 五、核心概念与架构概览 ...

    RichFaces3.4

    2. **支持的 JavaServer Faces 实现**:该框架支持多种 JSF 实现,例如 Sun JSF RI、Apache MyFaces 等。 3. **支持的服务器**:RichFaces 3.4 可以运行在多种应用服务器上,如 JBoss AS、Tomcat、WebLogic、...

    richFaces帮助文档

    - **Sun JSF RI**:即Sun提供的参考实现。 - **Apache MyFaces**:一个流行的开源JSF实现。 - **Tomahawk**:提供了一组额外的组件。 此外,还支持JBoss Seam等框架,以增强应用的功能性和灵活性。 ##### 2.3 支持...

Global site tag (gtag.js) - Google Analytics