<navigation-rule>
<from-view-id>/FacilityEdit.xhtml</from-view-id> #1
<navigation-case>
<from-action>#{facilityHome.persist}</from-action> #2
<from-outcome>persisted</from-outcome> #3
<to-view-id>/Facility.xhtml</to-view-id> #4
<redirect/> #4
</navigation-case>
</navigation-rule>
- 当前发起action的页面
- 发起页面提交的el表达式方法
- 返回值
- 要渲染的下一页及是否重定向
<page view-id="/FacilityEdit.xhtml">
<navigation from-action="#{facilityHome.persist}">
<rule if-outcome="persisted"
if="#{facilityHome.addCourse}"> #1
Licensed to Jaroslaw Gilewski <jgilewski@unizeto.pl>
<redirect view-id="/CourseEdit.xhtml"/>
<param name="courseFrom" value="Facility"/> #2
<message severity="INFO">
Please enter course information for
#{facilityHome.instance.name}. #3
</message>
</redirect>
</rule>
<rule if-outcome="persisted"
if="#{!facilityHome.addCourse}"> #4
<redirect view-id="/Facility.xhtml"/>
</rule>
</navigation>
</page>
- 检查是否想加课程, 一个表单上的checkbox?
- 开始
- 传递消息
- 不想加课程
<page view-id="/FacilityList.xhtml">
<param name="firstResult" value="#{facilityList.firstResult}"/>
<param name="order" value="#{facilityList.order}"/>
<param name="from"/>
<param name="name" value="#{facilityList.facility.name}"/>
Licensed to Jaroslaw Gilewski <jgilewski@unizeto.pl>
<param name="type" value="#{facilityList.facility.type}"/>
<param name="address" value="#{facilityList.facility.address}"/>
<param name="city" value="#{facilityList.facility.city}"/>
<param name="state" value="#{facilityList.facility.state}"/>
<param name="zip" value="#{facilityList.facility.zip}"/>
<param name="county" value="#{facilityList.facility.county}"/>
<param name="country" value="#{facilityList.facility.country}"/>
<param name="phone" value="#{facilityList.facility.phone}"/>
<param name="uri" value="#{facilityList.facility.uri}"/>
<param name="description"
value="#{facilityList.facility.description}"/>
</page>
传递到后台做为query的参数
<page view-id="/FacilityList.xhtml">
...
<param name="state" value="#{facilityList.facility.state}"
validatorId="org.open18.StateValidator"/>
<param name="type" value="#{facilityList.facility.type}"
validator="#{facilityTypeValidator}"/>
...
</page>
在页面参数里加验证
分享到:
相关推荐
通过实现一个猜数字游戏,展示了Seam页面流的概念及其应用。 1. **代码理解**:具体分析了页面流控制器的编写方法,以及如何根据用户的选择动态跳转页面。 2. **工作原理**:讲解了页面流如何管理和控制用户的导航...
- **页面流**:页面流是 Seam 中一种组织页面逻辑的方式。 - **游戏逻辑**:通过页面流管理游戏的状态和逻辑。 **1.5.2 工作原理** - **状态管理**:Seam 使用页面流管理用户会话的状态。 - **逻辑控制**:页面流...
- **工作原理**:此示例利用 SEAM 的页面流功能,根据用户的输入动态跳转不同的页面,实现了游戏逻辑。 ##### 1.6 完整的 Seam 应用程序:宾馆预订范例 - **介绍**:该示例展示了一个完整的宾馆预订系统的实现过程...
- **理解代码**:解释了一个使用Seam页面流技术实现的简单猜数字游戏。 - **工作原理**:页面流是Seam中一种重要的概念,它使得应用程序能够更好地控制页面之间的导航顺序和逻辑。 ##### 2.5 完整的Seam应用:酒店...
Seam页面流提供了一个统一的编程模型,能够将JSF、EJB、JPA等技术整合在一起,提供了一个强大且灵活的开发环境。 Seam和jBPM Seam和jBPM是一个基于jPDL的业务流程管理系统,能够帮助开发者快速构建企业级应用程序...
此示例演示了如何使用 Seam 的页面流特性构建一个猜数字游戏。 - **理解代码**:这部分介绍了猜数字游戏的具体实现细节。 - **工作原理**:这部分详细解释了页面流的工作原理,以及如何利用它来控制用户交互的流程。...
- **理解代码**:该示例通过数字猜谜游戏的方式,展示了Seam页面流(Page Flow)的概念。通过对示例代码的分析,可以了解页面流是如何组织页面逻辑的。 - **工作原理**:Seam页面流通过一系列预定义的步骤来引导用户...
- **工作原理**:详细介绍了注册示例背后的实现逻辑和技术细节,例如如何使用 Seam 的组件来封装业务逻辑,以及如何利用 Seam 的页面流(Page Flow)特性来管理用户的导航路径。 ##### 1.3 可点击的列表:消息示例 -...
1. **Seam 页面流**:页面流是 Seam 提供的一个概念,用于组织一系列交互式页面。页面流可以帮助开发者更好地管理和控制用户的导航路径。 2. **Seam 表单处理**:Seam 支持对 JSF 表单的增强处理,包括自动的表单...
#### 六、Seam页面流:猜数字游戏示例 这部分介绍了如何使用Seam的页面流功能构建动态交互式应用。 ##### 1.5.1 理解代码 猜数字游戏示例演示了如何设计和实现一个简单的页面流应用。 ##### 1.5.2 工作原理 - *...
##### 1.5 Seam页面流:猜数字范例 - **理解代码**: - 通过页面流的概念实现了猜数字游戏的功能。 - 页面流定义了不同页面之间的导航路径。 - **工作原理**: - 用户在每个页面上猜测数字,系统根据输入给予反馈...
1.5. Seam 页面流:猜数字范例........................................................................................................................................ 40 1.5.1. 理解代码....................
5. **Seam页面流:猜数字游戏示例** - **理解代码:** 分析了猜数字游戏的实现代码,包括页面流控制逻辑。 - **工作原理:** 详细解释了页面流的概念及其在游戏逻辑中的应用。 6. **完整的Seam应用:酒店预订示例...
- **Seam页面流**:解释了Seam如何管理页面之间的流转,以及如何构建高效的用户交互体验。 - **嵌套对话**:深入探讨了嵌套对话的概念,这对于构建复杂的应用逻辑至关重要。 - **Seam与jBPM的完整应用**:通过一...
- **页面流与导航**:说明Seam页面流的概念,以及如何实现复杂的导航逻辑。 #### 6. 高级主题与最佳实践 - **安全机制**:探索Seam提供的安全功能,如认证、授权和安全会话管理。 - **性能优化与调试**:提供关于...
Seam页面流:数字猜谜游戏示例 - **实体类** (`Game.java`):定义了游戏的基本信息。 - **会话Bean** (`GameManagerBean.java`):实现了游戏逻辑。 - **视图文件** (`game.xhtml`):展示了游戏界面。 该示例展示了...
Seam引入了一种声明式的会话管理机制,支持多种生命周期,如页面生命周期、对话生命周期等。这种机制可以帮助开发者更容易地管理Web应用的状态。 ##### 5. 使用注解配置而非XML Seam鼓励使用注解来进行配置,而...
- **猜数字游戏**: 使用页面流的概念,实现了一个互动性较强的猜数字游戏。 - **宾馆预订系统**: 一个较为复杂的Seam应用实例,涵盖了多种Seam特性,如业务对话、UI控件等。 - **DVD商店**: 展示了Seam与jBPM的...
除了基础的邮件服务、工作流支持,Seam还能够轻松整合其他工具和库,如EJB、JMS、WS等,提供一站式解决方案,这在某些方面甚至超越了Spring的集成能力。 总之,Seam作为一个创新的Java框架,通过其独特的设计和功能...