`
forestkqq
  • 浏览: 210340 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

Seam 问题集:启动对话后,转向别的页面时,显示错误的导航(Illegal navigation)

    博客分类:
  • Seam
阅读更多

问题现象:

 

在启动对话后,比如一个页面流,在对话进行过程中,如果点击导航转向到别的无关页面,比如首页,显示错误:错误的导航(Illegal navigation)。

 

解决方案:

 

 

 

<s:link view="/login.xhtml" value="首页"  propagation="none" />

 

<rich:menuItem submitMode="ajax" value="首页"  action="#{menuapp.doHome}" >

<f:param name="conversationPropagation" value="none"/>

<rich:menuItem/>

 

<h:commandLink action="main" value="Exit">

    <f:param name="conversationPropagation" value="none"/>

</h:commandLink>

 

如果需要结束对话,将 none 修改为 end

 

可参考的解释有:

 

The problem is that jPDL navigation is constrained (by contrast to JSF or Seam navigation which are free form ).

So, with jPDL, the path that your users can follow is represented by a finite graph, with well defined transitions from state to state (a state being either a page or decision).

Each time the jPDL/jBPM engine detects that a user took a path that is not defined in the graph, it triggers an Illegal navigation Exception .

If you provide some kind of escape door for your users (like a cancel button, or back to menu ), you should end the pageflow when the user use it. The key point is to end the conversation : that will end the pageflow as well.

According to the doc, this is done by using <end-conversation> (in your .jpdl.xml file) or by calling an @End method. AFAIK, you could use a s:link to do that. But propagation="none" will not suffice: the conversation will not be propagated thought the link, but will still be active.

 

选自: http://seamframework.org/Community/RichmenuItemAndPropagationParam

 

 

 

0
0
分享到:
评论

相关推荐

    SEAM 中文开发指南

    - **Seam调试页面**:用于辅助开发者进行调试和问题定位。 ##### 1.7 使用Seam和jBPM的完整示例:DVD商店 - **代码分析**:结合 SEAM 和 jBPM 实现 DVD 商店功能。 - **工作原理**:这个示例展示了如何利用 SEAM ...

    jboss seam 教程

    - **工作原理**:页面流是Seam中一种重要的概念,它使得应用程序能够更好地控制页面之间的导航顺序和逻辑。 ##### 2.5 完整的Seam应用:酒店预订系统 - **介绍**:这是一个综合性的示例项目,涵盖了Seam的许多高级...

    seam-navigation.jar

    seam-navigation.jar

    Jboss Seam中文版

    ### JBoss Seam中文版知识点详解 #### JBoss Seam简介 JBoss Seam是一个强大的企业级应用开发框架,基于Java EE标准,特别强调简化Web应用的开发流程。它通过整合多种技术如JSF、EJB 3.0等,提供了一种更为高效、...

    Seam Framework 2.0 Reference中文版

    - **Seam 调试页面**:介绍了如何使用 Seam 的调试工具来诊断和解决开发过程中遇到的问题。 ##### 1.7 一个使用 Seam 和 jBPM 的完整范例:DVD 商店 该示例结合了 Seam 和 jBPM,构建了一个 DVD 商店应用程序。 - *...

    jboss seam 2.01GA REF DOC

    - **调试工具**:Seam 提供了一个专用的调试页面,帮助开发者诊断问题。 - **日志记录**:通过日志记录来追踪错误和异常。 #### 第六部分:结合 Seam 和 jBPM 的完整应用示例 本节通过一个 DVD 商店示例展示了如何...

    seam_reference.pdf

    - **会话上下文**:组件状态被保存并在用户会话期间持续存在,即使用户在多个页面之间导航时也是如此。 - **统一组件模型的优势**:这种统一的方法有助于简化开发过程,提高代码复用率,并降低维护成本。 #### 三...

    JBOSS SEAM组件中文手册

    4. **导航和流程控制(Navigation and Flow Control)**: Seam提供了强大的导航机制,可以轻松控制JSF应用的页面跳转和流程。 5. **安全和身份验证(Security and Authentication)**: Seam集成了JAAS(Java ...

    JBoss Seam: Simplicity and Power Beyond Java EE

    ### JBoss Seam: Simplicity and Power Beyond Java EE #### 一、Seam简介与特点 **JBoss Seam** 是一款强大的开源框架,它在**Java EE** 的基础上提供了更为简单且功能强大的开发方式,旨在简化企业级应用的开发...

    基于Seam2.1的最新力作《Seam Framework: Experience the Evolution of Java EE, 2nd Edition》全书

    ### 基于Seam2.1的最新力作《Seam Framework: Experience the Evolution of Java EE, 2nd Edition》全书知识点概览 #### 一、Seam框架简介 Seam框架是JBoss组织推出的一个开源项目,旨在简化企业级应用开发,通过...

    Jboss-Seam 2RC 中文翻译

    Seam为你的应用程序中... Seam组件可能是有状态的,包含与几个定义良好的上下文中任何一个相关联的状态, 包括长时间运行上下文、持久化上下文、业务流程上下文, 以及用户交互中能够跨多个Web请求保存的对话上下文。

    JSF项目中seam的配置

    通过对`Conversation`的巧妙利用,可以避免在JSF中常见的数据丢失问题,特别是在处理复杂表单和导航时。同时,Seam与其他Java EE技术的集成也使得整个应用的架构更加灵活和强大。然而,由于Seam不断更新,开发者需要...

    seam参考手册中文版

    ### Seam参考手册中文版知识点概览 #### 一、Seam简介及基本概念 ##### JBoss Seam概述 - **Seam**是JBoss家族中的一员,它是一个建立于Java EE平台之上的开源框架,旨在简化企业级应用的开发过程。 - **版本**: ...

    Practical_JBoss_Seam书的源代码

    在Seam中,这可能涉及到使用Seam的导航规则和事件驱动的页面管理,帮助开发者实现动态和灵活的Web界面。 4. **security**:这部分源码可能展示了Seam的安全特性,如身份验证、授权和会话管理。Seam集成了Spring ...

    基于Seam2.1的最新力作《Seam Framework: Experience the Evolution of Java EE, 2nd Edition》摘要

    - **示例**:页面加载时创建的组件会在用户离开页面后自动销毁。 ##### Common Application Configuration - **目的**:提供了一套通用的应用程序配置方式,简化了开发过程中的配置管理工作。 - **特点**:支持XML...

    Jboss seam3 实战

    标题中的“Jboss seam3 实战”表明,本文将重点介绍JBoss Seam框架的第三个版本的实际应用。JBoss Seam是一个开源的Java EE框架,它通过依赖注入和会话模型,简化了基于Java EE的企业级应用开发。Seam框架为开发者...

    seam2.0 中文文档

    - 页面流定义了不同页面之间的导航路径。 - **工作原理**: - 用户在每个页面上猜测数字,系统根据输入给予反馈,并引导用户到下一个页面继续游戏。 - 通过Seam的页面流机制,可以灵活地控制页面之间的跳转。 ###...

    jboss seam 中文文档

    - **工作原理**:详细介绍了注册示例背后的实现逻辑和技术细节,例如如何使用 Seam 的组件来封装业务逻辑,以及如何利用 Seam 的页面流(Page Flow)特性来管理用户的导航路径。 ##### 1.3 可点击的列表:消息示例 -...

    seam carving 测试数据集免费分享

    Seam Carving是一种在计算机视觉领域中用于图像内容自适应调整的技术,主要应用于图像缩放而不失真关键特征。这个测试数据集显然专注于这一技术的实际应用和效果验证。以下是关于Seam Carving及相关知识点的详细解释...

Global site tag (gtag.js) - Google Analytics