用过seam的人都知道seam中支持action如果返回形如‘/xxx.xhtml’的导航字符串的时候会直接转到这个页面,而不管faces-config.xml中是否有这样的一个导航规则,这个对JSF的小改动对那些页面是动态选择的情况非常适用,比如你的页面地址是从数据库中获取的。
其实在JSF中实现这个小特性是非常简单的,只需要扩展一下JSF提供的默认导航处理器就可以了。
java 代码
-
-
-
-
-
-
- public class MyNavigationHandler extends NavigationHandlerImpl {
-
- @Override
- public void handleNavigation(FacesContext context, String fromAction,
- String outcome) {
-
- if(outcome != null && outcome.startsWith("/")){
-
- Application application = context.getApplication();
- ViewHandler viewHandler = application.getViewHandler();
- UIViewRoot newRoot = viewHandler.createView(context,outcome);
- context.setViewRoot(newRoot);
-
- }else{
- super.handleNavigation(context, fromAction, outcome);
- }
-
- }
-
- }
分享到:
相关推荐
JSF是一种用于构建Java Web 应用程序的标准框架(是Java Community Process 规定的JSR-127标准)。JSF(Java Server Faces)技术为开发基于网络用户界面的Java开发者提供了...sun-ri、myfaces、icefaces、richfaces、seam
由于Seam与JSF紧密集成,因此在JBoss 4.0环境下需要手动安装JSF 1.2 RI(参考实现)来支持Seam应用的运行。 #### 3. 上下文相关的组件模型 **3.1 Seam上下文** Seam提供了多种上下文来管理应用的状态,包括无状态...
- Java SE 5 或更高版本:由于JSF框架是基于Java标准版构建的,因此需要一个兼容Java SE 5或更高版本的JVM来运行。 #### 支持的JavaServer Faces(JSF)实现 - MyFaces:这是一个开源项目,提供了完整的JSF规范实现...
- 介绍了如何在JBoss AS和JSF1.2 RI环境中部署和运行Seam应用。 #### 二、使用Seam-gen起步 - **准备活动**: - 需要进行环境配置,包括安装必要的软件等。 - **建立一个新的Eclipse项目**: - 通过Eclipse IDE...
1.3. Seam 中的可点击列表:消息示例............................................................................................................................. 27 1.3.1. 理解代码.........................
- **使用JSF 1.2 RI**:提供了如何在JBoss平台上使用JSF 1.2参考实现来部署和运行Seam应用的具体步骤。 #### 三、结语 通过以上内容的学习,读者可以全面了解JBoss Seam框架的核心功能和技术特点,掌握如何使用...
- **JSF实现与框架支持:** 支持Sun JSF RI、Apache MyFaces等JSF实现及框架。 - **服务器支持:** 包括JBoss AS、GlassFish、WebLogic等主流应用服务器。 - **浏览器兼容性:** 支持最新版本的Chrome、Firefox、...
- **动作与导航**:处理用户交互,实现页面间跳转和状态管理。 - **JavaScript交互**:利用原生JavaScript扩展组件功能,实现更复杂的前端效果。 - **迭代组件属性**:配置迭代组件的Ajax属性,实现动态列表和表格...
手册深入探讨了如何针对不同的开发环境调整RichFaces的配置参数,包括Web应用描述符参数、特定JSF实现的设置(如Sun JSF RI、Apache MyFaces),以及对Facelets、JBoss Seam、Portlet、Sybase EAServer、Oracle AS/...
- **支持的JSF实现与框架:** 支持如Sun JSF RI、Apache MyFaces等主流的JSF实现。 - **支持的服务器:** 包括JBoss AS、Tomcat、WebLogic等常见Web服务器。 - **支持的浏览器:** 明确指出支持的浏览器类型及其版本...
- **动作和导航**:处理用户的交互行为并实现相应的逻辑处理。 - **JavaScript 交互**:利用JavaScript 增强页面的交互效果。 - **迭代组件的 AJAX 属性**:针对列表等动态内容的优化策略。 - **其他有用属性**...
- **支持的Java Server Faces实现与框架**:包括不同版本的JSF实现(如Sun JSF RI、Apache MyFaces等)以及相关的开发框架。 - **支持的服务器**:列举了兼容的Web服务器或应用服务器列表,这对于部署应用程序至关...
针对不同的运行环境,如Sun JSF RI、Apache MyFaces、Facelets、JBoss Seam以及Portlet等,RichFaces提供了详细的配置指南,帮助开发者根据实际需求调整应用设置,优化性能,提高安全性。 五、核心概念与架构概览 ...
2. **支持的 JavaServer Faces 实现**:该框架支持多种 JSF 实现,例如 Sun JSF RI、Apache MyFaces 等。 3. **支持的服务器**:RichFaces 3.4 可以运行在多种应用服务器上,如 JBoss AS、Tomcat、WebLogic、...
- **Sun JSF RI**:即Sun提供的参考实现。 - **Apache MyFaces**:一个流行的开源JSF实现。 - **Tomahawk**:提供了一组额外的组件。 此外,还支持JBoss Seam等框架,以增强应用的功能性和灵活性。 ##### 2.3 支持...