ONJava.com -- JBoss Seam --> page 5

阅读更多
Pages: 1, 2, 3, 4, 5

 

在 DVD 商店的以下示例中,我们将添加对定单进行验证的业务流程。 该业务流程自动接受所有 100 美元以下的定单,并将大金额的定单交给管理员处理。 验证通过时,还需要一个添加发货数量的步骤。 为完成这个流程,编写如下 JPDL:

                                                                                                                                                                          

在这个简单但是强大的示例中,结合使用 jBPM 和 Seam 可以使你在 jPDL 中直接输入 JSF 语句。 #{orderApproval.howLargeIsOrder}"orderApproval" Seam 组件上调用 howLargeIsOrder 方法,而这正是它在 JSF 页面中工作的方式。 以下是该 Seam 组件的源代码:

package com.jboss.dvd.seam;import org.jboss.seam.annotations.In;import org.jboss.seam.annotations.Name;@Name("orderApproval")public class OrderApprovalDecision {   @In float amount;   public String getHowLargeIsOrder()   {      return amount > 100 ?         "large order" : "small order";   }}

没有特别之处,我们只是注入了有态上下文中的金额(amount),和一个字符串,就可以返回采取何种操作。 还注意到在页面流程定义中,从 "process""complete" 的过渡激活了一个对 Seam 组件"afterShipping""log" 方法的调用。

移植性和简单性

Seam 完成依赖于 JDK 5.0 标注来声明组件以及它们如何根据特定上下文进行关联--没有 XML 的深奥。 Seam 可以用于任何 JSF 形式,并且可以运行于任何 JEE 5.0 容器。 对于较小的容器,Seam 甚至可以在 Tomcat 或者测试单元中使用。 对于尚未准备好使用 EJB 3.0 的开发者,Seam 还支持 POJO 和 Hibernate 持久性类作为组件。

添加少量的配置文件,此 DVD 商店示例即可在 Tomcat 中工作,在 Seam 发行版本中就有这样一个例子。

资源

  • 有关 JBoss Seam 的更多信息,请访问 project website。
  • 在 Seam 发行版本 中,可以找到这篇文章中的 DVD 商店示例。
  • 查看 Seam 示例应用程序之酒店预订
  • JBoss EJB3
  • JBoss jBPM
  • JBoss Eclipse IDE 捆绑了 jBPM 页面流程和工作流程可视设计器。

Thomas Heute 是 JBoss Seam 项目的带头人


返回 ONJava.com。



你可能感兴趣的:(Seam,JBoss,JBPM,JSF,Tomcat)