本文主要是介绍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示例说明三的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!