jboss seam dvdstore示例说明三

2023-11-25 11:18

本文主要是介绍jboss seam dvdstore示例说明三,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

6 页面流pageflow的说明

说明:有状态的session bean当中的某个方法调用页面流的begin方法(需指定流程名),即进入一个页面流程的开始,框架会自动找到类路径下流程定义的<流程名>.jpdl.xml,根据<流程名>.jpdl.xml定义流程流转的描述,进行流程页面的跳转。

 

注:整个页面流转过程是通过com.jboss.dvd.seam. EditCustomerAction类来协助实现的。


 

6.1 根据创建用户功能newuser为例

6.1.1 newuser页面流定义说明图

 

6.2.2 newuser页面流定义文件

<?xml version="1.0"?>

<!—流程名与文件名相同<流程名>.jpdl.xml-->

<pageflow-definition

    xmlns="http://jboss.com/products/seam/pageflow"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation=

        "http://jboss.com/products/seam/pageflow http://jboss.com/products/seam/pageflow-2.1.xsd"

    name="newuser">

   

<!—流程开始节点指向account页面节点-->

<start-state name="start">

<!—流程指向标签-->

        <transition to="account"/>

    </start-state>

   

<!—流程account节点基于JSF由组件化后显示页面-->

    <page name="account" view-id="/newuser/account.xhtml">

        <redirect/>

    <!—操作完成后转入下一页面节点-->

        <transition name="next" to="checkPassword" />

    </page>

 

<!--判断节点,调用类isValidNamePassword方法,返回布尔值,判断节点流转走向-->

    <decision name="checkPassword" expression="#{editCustomer.validNamePassword}">

        <transition name="true" to="contact"/>

        <transition name="false" to="account">

            <!-- <action name="#{editCustomer.warnPassword}" /> action is never triggered -->

        </transition>

    </decision>

 

  <!—页面节点有会话时显示view-id指定页面并指向next,无会话时显示no-conversation-view-id页面并指向prev,会自动判断节点流转走向-->

    <page name="contact" view-id="/newuser/contact.xhtml"

          no-conversation-view-id="/newuser/account.xhtml">

        <redirect/>

        <transition name="prev" to="account"/>

        <transition name="next" to="card"/>

    </page>

 

  <!—页面节点有会话时显示view-id指定页面并指向next,无会话时显示no-conversation-view-id页面并指向prev,会自动判断节点流转走向-->

    <page name="card" view-id="/newuser/card.xhtml"

          no-conversation-view-id="/newuser/account.xhtml">

        <redirect/>

        <transition name="prev" to="contact"/>

        <transition name="next" to="complete">

           <!—调用会话bean当中的saveUser方法-->

            <action expression="#{editCustomer.saveUser}"/>

        </transition>

    </page>

   

  <!—页面节点有会话时显示view-id指定页面并指向next,无会话时显示no-conversation-view-id页面并指向prev,会自动判断节点流转走向-->

    <page name="complete" view-id="/newuser/complete.xhtml"

          no-conversation-view-id="/newuser/account.xhtml">

        <end-conversation/>

        <redirect/>

    </page>

   

</pageflow-definition>

 

这篇关于jboss seam dvdstore示例说明三的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/423696

相关文章

C++20管道运算符的实现示例

《C++20管道运算符的实现示例》本文简要介绍C++20管道运算符的使用与实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录标准库的管道运算符使用自己实现类似的管道运算符我们不打算介绍太多,因为它实际属于c++20最为重要的

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示

MySQL之InnoDB存储引擎中的索引用法及说明

《MySQL之InnoDB存储引擎中的索引用法及说明》:本文主要介绍MySQL之InnoDB存储引擎中的索引用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录1、背景2、准备3、正篇【1】存储用户记录的数据页【2】存储目录项记录的数据页【3】聚簇索引【4】二

mysql中的数据目录用法及说明

《mysql中的数据目录用法及说明》:本文主要介绍mysql中的数据目录用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、版本3、数据目录4、总结1、背景安装mysql之后,在安装目录下会有一个data目录,我们创建的数据库、创建的表、插入的

ModelMapper基本使用和常见场景示例详解

《ModelMapper基本使用和常见场景示例详解》ModelMapper是Java对象映射库,支持自动映射、自定义规则、集合转换及高级配置(如匹配策略、转换器),可集成SpringBoot,减少样板... 目录1. 添加依赖2. 基本用法示例:简单对象映射3. 自定义映射规则4. 集合映射5. 高级配置匹

C++11作用域枚举(Scoped Enums)的实现示例

《C++11作用域枚举(ScopedEnums)的实现示例》枚举类型是一种非常实用的工具,C++11标准引入了作用域枚举,也称为强类型枚举,本文主要介绍了C++11作用域枚举(ScopedEnums... 目录一、引言二、传统枚举类型的局限性2.1 命名空间污染2.2 整型提升问题2.3 类型转换问题三、C

Java实现自定义table宽高的示例代码

《Java实现自定义table宽高的示例代码》在桌面应用、管理系统乃至报表工具中,表格(JTable)作为最常用的数据展示组件,不仅承载对数据的增删改查,还需要配合布局与视觉需求,而JavaSwing... 目录一、项目背景详细介绍二、项目需求详细介绍三、相关技术详细介绍四、实现思路详细介绍五、完整实现代码

C++ 检测文件大小和文件传输的方法示例详解

《C++检测文件大小和文件传输的方法示例详解》文章介绍了在C/C++中获取文件大小的三种方法,推荐使用stat()函数,并详细说明了如何设计一次性发送压缩包的结构体及传输流程,包含CRC校验和自动解... 目录检测文件的大小✅ 方法一:使用 stat() 函数(推荐)✅ 用法示例:✅ 方法二:使用 fsee

mysql查询使用_rowid虚拟列的示例

《mysql查询使用_rowid虚拟列的示例》MySQL中,_rowid是InnoDB虚拟列,用于无主键表的行ID查询,若存在主键或唯一列,则指向其,否则使用隐藏ID(不稳定),推荐使用ROW_NUM... 目录1. 基本查询(适用于没有主键的表)2. 检查表是否支持 _rowid3. 注意事项4. 最佳实

HTML中meta标签的常见使用案例(示例详解)

《HTML中meta标签的常见使用案例(示例详解)》HTMLmeta标签用于提供文档元数据,涵盖字符编码、SEO优化、社交媒体集成、移动设备适配、浏览器控制及安全隐私设置,优化页面显示与搜索引擎索引... 目录html中meta标签的常见使用案例一、基础功能二、搜索引擎优化(seo)三、社交媒体集成四、移动