Kick off your project with seam-gen

     seam-gen有两种版本,命令行脚本和IDE插件。命令行版本是披着脚本皮的Ant,他的优势是他和他生成的项目都能通过命令行或IDE驱动。IDE版本是个Eclipse的插件,是JBoss Tools的一部分。插播广告:有了JBoss Tools,让你的JavaEE生涯更轻松!作者主要是介绍命令行脚本,所以想了解plugin版本,到别处翻翻吧。

      作者会先带我们大概看看seam-gen脚本,然后再执行下seam-gen的命令。

seam-gen命令一瞥

       把seam和例子中的H2数据库备好,进入解压后的seam目录。你能在里面找到seam 和 seam.bat两个脚本。

       先看看seam脚本能做什么吧!在控制台里敲 seam help,这个命令会显示seam-gen的简介,还有一长串他所支持的命令。

seam的简介 写道
seam (aka seam-gen) - Execute seam code generation.
The seam.bat (Windows) and seam (Linux/Unix) scripts support
commands that use Ant build targets to set up a Seam project and
generate source code. Ant is not required to be on your path to
use this script.
JBoss AS must be installed to deploy the project. If you use EJB3
components, the JBoss server must have EJB 3 capabilities.
(JBoss AS 4.2 is strongly recommended)

 seam-gen的命令可以分为两类,第一组命令是用来构建、管理和部署seam-gen项目的。

 

命令

介绍

setup生成用于创建项目的seam-gen/build.properties,文件中的key-value对是你给这个命令提出的问题的答案。这些信息包括,项目所在的目录、数据库连接、JBoss AS所在的目录。在回答完问题后,你也可以手工修改seam-gen/build.properties
create-project创建seam项目,包含构建脚本,依赖类库,以及基本的seam组件配置。根据seam-gen/build.
properties文件中的值进行个性化设置。
update-project 更新项目的依赖类库至最新版
delete-project卸载并删除生成的项目
deploy把项目包(WAR或EAR)及数据源配置文件部署到JBoss AS中
undeploy         卸载部署的项目包及数据源配置文件
explode部署项目文件(非打包方式的WAR和EAR项目包)和数据源配置文件到JBoss AS中。并执行增量式热部署,不包括EJB组件及JPA实体类。
restart将之前部署的项目(非打包方式)重启,不是重启JBoss AS
unexplode卸载项目(非打包方式)文件和数据源配置
archive创建项目包(WAR或EAR)并把他放到项目根目录下的dist文件夹下。
clean移除生成项目中的已编译类及中间目录。
test运行测试
settings显示seam-gen/build.properties中的设置
reset重置seam-gen/build.properties中的设置

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

第二组命令,用于在被seam管理的项目中生成代码。

命令

介绍

new-action创建带有seam/EJB3注解的java接口及stateless session bean。同时创建模拟JSF request/response的测试用例及相关的TestNG配置
new-form
创建带有seam/EJB3注解的java接口及stateful session bean。同时创建模拟JSF request/response的测试用例及相关的TestNG配置
new-conversation创建带有seam/EJB3注解的java接口及stateful session bean,添加带有@Begin和@End的句柄方法。
new-entity创建带有seam/EJB3注解的entity bean
new-query创建管理定制JPA查询的EntityQuery子类及显示查询结果的view模板
generate产生映射到数据库schema的entity class及对其进行CRUD操作的用户界面
generate-ui产生已有JPA entities的CRUD用户界面
generate-model产生映射到数据库schema的JPA entity类

 

没必要现在就弄懂每个命令,这两个表格只是给你介绍下seam-gen的能力,以后你会有机会用这些命令来完成任务的。

下面这个列表指导你创建Open 18程序原型所需执行的命令步骤:

命令 目的
seam setup输入关于Open 18程序及H2数据库的相关信息
seam create-project命令seam-gen创建open 18程序
seam generate创建管理Open 18数据库表的CRUD程序
seam explode部署项目文件(非打包方式的WAR和EAR项目包)和数据源配置文件到JBoss AS中

执行完这些命令后,你就有了一个可以展示给老板的程序原型。当他要你修改的时候,你也不会无言以对。修改seam-gen生成的程序简单直接,本章的后续部分会告诉你如何进入seam-gen已经为你准备好的各种开发环境及部署环境。不过,现在你还是要先告诉seam-gen你想生成一个什么样的程序。

seam-gen的我问你答节目

     书接上段,下面就来讲讲第一个要运行的seam setup命令。前面已经提过了,这个命令会问你一系列的问题,以便决定该怎么给你创建个程序。需求分析阶段!他提的问题由三部分组成,问题;默认答案;有效答案。你就逐一回答敲回车就成了,这是唯一需要你做的工作,回答完这些问题,剩下的事就是seam的了,有没有点当甲方的感觉?

      seam-gen的主要目的就是把你的答案保存到seam-gen/build.properties中去。如果你觉得某个回答不妥,你随时都可以重新来一次,以前的答案都变成了默认答案,不用改的敲回车接受就行了。如果你不想用这个向导,也可以自己手工编辑seam-gen/build.properties文件。

      注意下WAR与EAR的区别,还有就是你可以试试ICEFaces。

      除了处理seam-gen/build.properties,setup命令还负责把JDBC 驱动copy到${jboss.home}/server/default/lib中,以便定义JCA数据源,建立到数据库的连接。

创建基本的项目骨架

      setup仅仅是在做准备工作,要把seam的项目模板转变为真正的应用程序,还要执行seam create-project。执行完这个命令,seam会在你的Java工作目录下创建一个新项目,自带一个可以编译、测试、打包及部署程序的Ant build脚本。以此为基础,开始开发你的seam程序吧!

      插播广告!JBoss Tools可以给你一个GUI的向导,你不用到DOS窗口里去执行脚本了。

生成CRUD

     项目的脚手架搭好了,让我们继续前进!先开始对数据库表进行反向工程,生成一些代码出来看看。这就轮到seam generate命令登场了。它会产生映射到数据库schema的entity class及对其进行CRUD操作的用户界面,view层是由Facelets 模板组成的,而作为后备的action 类是JavaBean。

写道
我们在setup的时候提供了schema和catalog的值,这是为了放在JPA entity class之上的@Table注解不必去绑定这些属性。因为他们往往比表名和列名的变动更有可能发生。所以最好不要让entity class中保留这些信息。如果有必要,可以在Hibernate或JPA配置信息中的hibernate.default_schema 和 hibernate.default_catalog属性上来指定。
 

       seam generate的输出信息非常丰富,因为Hibernate非常尊重我们的知情权,所以把他做反向工程的每一步都像我们做了报告。

      项目原型已经生成了!但还不是部署的时候,如果你按generate最后的建议,运行 seam restart命令,你会发现,无论JBoss AS 运行与否,http://localhost:8080/open18返回的都是404错误!这里还有个问题,欲知后事如何,且听下回分解!

 

 

 

Seam - 语境相关的组件[满江红20071230]............................................................................................................................ 1 Java EE 框架..................................................................................................................................................................................1 Table of Contents........................................................................................................................................................................... 2 JBoss Seam 简介......................................................................................................................................................................... 11 Chapter 1. Seam 入门.................................................................................................................................................................14 1.1. 试试看.......................................................................................................................................................................... 14 1.1.1. 在JBoss AS 上运行示例..................................................................................................................................14 1.1.2. 在Tomcat 服务器上运行示例.......................................................................................................................... 15 1.1.3. 运行测试........................................................................................................................................................... 15 1.2. 第一个例子:注册示例.............................................................................................................................................. 15 1.2.1. 了解代码........................................................................................................................................................... 16 1.2.2. 工作原理........................................................................................................................................................... 26 1.3. Seam 中的可点击列表:消息示例............................................................................................................................. 27 1.3.1. 理解代码........................................................................................................................................................... 27 1.3.2. 工作原理........................................................................................................................................................... 32 1.4. Seam 和jBPM:待办事项列表(todo list)示例..................................................................................................... 32 1.4.1. 理解代码........................................................................................................................................................... 33 1.4.2. 工作原理........................................................................................................................................................... 39 1.5. Seam 页面流:猜数字范例........................................................................................................................................ 40 1.5.1. 理解代码........................................................................................................................................................... 40 1.5.2. 工作原理........................................................................................................................................................... 45 1.6. 一个完整的Seam 应用程序:宾馆预订范例............................................................................................................ 45 1.6.1. 介绍................................................................................................................................................................... 46 1.6.2. 预订系统概况................................................................................................................................................... 48 1.6.3. 理解Seam 业务对话(Conversation)................................................................................................................. 48 1.6.4. Seam 的UI 控制库........................................................................................................................................... 55 1.6.5. Seam 调试页面................................................................................................................................................. 56 1.7. 一个使用Seam 和jBPM 的完整范例:DVD 商店...................................................................................................57 1.8. 一个使用Seam 工作空间管理(workspace management)的完整范例:Issue Tracker........................................59 1.9. 结合SeamHibernate 的范例:Hibernate 预订系统............................................................................................. 60 1.10. 一个RESTful 的Seam 应用程序:Blog 范例......................................................................................................... 60 1.10.1. 使用“拉”风格的MVC................................................................................................................................... 61 1.10.2. 可收藏的搜索结果页面................................................................................................................................. 63 1.10.3. 在RESTful 应用程序中使用“推”风格("push"-style)的MVC................................................................65 1.11. 在JBoss 中用JSF 1.2 RI 运行Seam 的范例............................................................................................................68 Chapter 2. 用Seam-gen 起步......................................................................................................................................................69 2.1. 准备活动...................................................................................................................................................................... 69 2.2. 建立一个新的Eclipse 项目........................................................................................................................................ 69 2.3. 创建新动作.................................................................................................................................................................. 72 2.4. 创建有动作的表单(form)...................................................................................................................................... 73 2.5. 从现有数据库生成应用程序...................................................................................................................................... 74 2.6. 将应用部署为EAR..................................................................................................................................................... 75 2.7. Seam 与增量热部署.................................................................................................................................................... 75 3 / 347 2.8. 在Jboss 4.0 下使用Seam............................................................................................................................................76 2.8.1. 安装JBoss 4.0...................................................................................................................................................76 2.8.2. 安装JSF 1.2 RI................................................................................................................................................. 76 Chapter 3. 上下文相关的组件模型............................................................................................................................................76 3.1. Seam 上下文.................................................................................................................................................................76 3.1.1. Stateless context(无状态上下文)................................................................................................................. 77 3.1.2. Event context(事件上下文)..........................................................................................................................77 3.1.3. Page context(页面上下文)............................................................................................................................77 3.1.4. Conversation context(业务会话上下文)......................................................................................................77 3.1.5. Session context(Session 上下文)..................................................................................................................78 3.1.6. Business process context (业务流程上下文)..............................................................................................78 3.1.7. Application context(应用上下文).................................................................................................................78 3.1.8. Context variables(上下文变量)....................................................................................................................79 3.1.9. Context 搜索优先级..........................................................................................................................................79 3.1.10. 并发模型......................................................................................................................................................... 79 3.2. Seam 组件....................................................................................................................................................................80 3.2.1. 无状态Session Bean......................................................................................................................................... 80 3.2.2. 有状态Session Bean......................................................................................................................................... 80 3.2.3. 实体Bean.......................................................................................................................................................... 81 3.2.4. JavaBeans.......................................................................................................................................................... 81 3.2.5. 消息驱动Bean.................................................................................................................................................. 82 3.2.6. 拦截................................................................................................................................................................... 82 3.2.7. 组件名字........................................................................................................................................................... 82 3.2.8. 定义组件范围(Defining the Component Scope)......................................................................................... 83 3.2.9. 具有多个角色的组件(Components with multiple roles)............................................................................ 84 3.2.10. 内置组件......................................................................................................................................................... 84 3.3. 双向注入...................................................................................................................................................................... 85 3.4. Lifecycle methods(生命周期方法)......................................................................................................................... 87 3.5. 条件装载(Conditional installation)........................................................................................................................ 87 3.6. 日志...............................................................................................................................................................................88 3.7. Mutable 接口和@ReadOnly........................................................................................................................................89 3.8. Factory 和Manager 组件.............................................................................................................................................91 Chapter 4. 配置Seam 组件.........................................................................................................................................................93 4.1. 通过属性设置来配置组件.......................................................................................................................................... 93 4.2. 通过components.xml 来配置组件.............................................................................................................................93 4.3. 细粒度的配置文件...................................................................................................................................................... 97 4.4. 可配置的属性类型...................................................................................................................................................... 97 4.5. 使用XML 命名空间................................................................................................................................................... 98 Chapter 5. 事件、拦截器和异常处理..................................................................................................................................... 101 5.1. Seam 事件...................................................................................................................................................................101 5.1.1. 页面动作......................................................................................................................................................... 102 5.1.2. 组件驱动的事件............................................................................................................................................. 108 5.1.3. 上下文事件..................................................................................................................................................... 109 5.2. Seam 拦截器..............................................................................................................................................................110 5.3. 管理异常.....................................................................................................................................................................112 5.3.1. 异常和事务..................................................................................................................................................... 112 5.3.2. 激活Seam 异常处理...................................................................................................................................... 113 4 / 347 5.3.3. 使用注解处理异常......................................................................................................................................... 113 5.3.4. 用XML 处理异常.......................................................................................................................................... 114 5.3.5. 一些常见的异常............................................................................................................................................. 115 Chapter 6. 对话以及工作区管理..............................................................................................................................................116 6.1. Seam 的对话模型.......................................................................................................................................................116 6.2. 嵌套对话.....................................................................................................................................................................118 6.3. 使用GET 请求来开始一个对话............................................................................................................................... 118 6.4. 利用<s:link>以及<s:button>......................................................................................................................................119 6.5. 成功信息.................................................................................................................................................................... 121 6.6. 使用“显式”的对话id.................................................................................................................................................121 6.7. 工作区管理................................................................................................................................................................ 122 6.7.1. 工作区管理及JSF 导航................................................................................................................................. 122 6.7.2. 工作区管理和jPDL 页面流........................................................................................................................... 122 6.7.3. 对话转换器..................................................................................................................................................... 123 6.7.4. 对话列表......................................................................................................................................................... 124 6.7.5. 导航控件......................................................................................................................................................... 125 6.8. 对话组件和JSF 组件绑定........................................................................................................................................ 125 6.9. 对话组件的并发调用................................................................................................................................................ 126 6.9.1. RichFaces Ajax................................................................................................................................................ 127 Chapter 7. 页面流和业务流程..................................................................................................................................................128 7.1. Seam 中的页面流...................................................................................................................................................... 128 7.1.1. 两种导航模型................................................................................................................................................. 128 7.1.2. Seam 和后退按钮........................................................................................................................................... 131 7.2. 使用jPDL 页面流......................................................................................................................................................132 7.2.1. 安装页面流..................................................................................................................................................... 132 7.2.2. 开始页面流..................................................................................................................................................... 133 7.2.3. 页面节点和跳转............................................................................................................................................. 134 7.2.4. 流程控制......................................................................................................................................................... 135 7.2.5. 流程的结束..................................................................................................................................................... 135 7.2.6. 页面流组合..................................................................................................................................................... 135 7.3. Seam 中的业务流程管理.......................................................................................................................................... 136 7.4. 使用jPDL 业务流程定义..........................................................................................................................................137 7.4.1. 安装流程定义................................................................................................................................................. 137 7.4.2. 初始化Actor id............................................................................................................................................... 137 7.4.3. 启动一个业务流程......................................................................................................................................... 138 7.4.4. 任务分配......................................................................................................................................................... 138 7.4.5. 任务列表......................................................................................................................................................... 138 7.4.6. 执行一个任务................................................................................................................................................. 139 Chapter 8. Seam 和对象/关系映射...........................................................................................................................................140 8.1. 简介.............................................................................................................................................................................140 8.2. Seam 管理的事务...................................................................................................................................................... 140 8.2.1. 关闭Seam 管理的事务.................................................................................................................................. 141 8.2.2. 配置Seam 事务管理器.................................................................................................................................. 142 8.2.3. 事务同步......................................................................................................................................................... 142 8.3. Seam 管理的持久化上下文...................................................................................................................................... 142 8.3.1. 在Seam 管理的持久化上下文中使用JPA....................................................................................................143 8.3.2. 使用Seam 管理的Hibernate 会话................................................................................................................. 143 5 / 347 8.3.3. Seam 管理的持久化上下文和原子会话........................................................................................................ 144 8.4. 使用JPA “代理(delegate)”...................................................................................................................................145 8.5. 在EJB-QL/HQL 中使用EL......................................................................................................................................146 8.6. 使用Hibernate 过滤器.............................................................................................................................................. 146 Chapter 9. Seam 中的JSF 表单验证........................................................................................................................................147 Chapter 10. Groovy 集成.......................................................................................................................................................... 152 10.1. Groovy 简介............................................................................................................................................................. 152 10.2. 用Groovy 编写Seam 应用..................................................................................................................................... 152 10.2.1. 编写Groovy 组件.........................................................................................................................................152 10.2.2. seam-gen........................................................................................................................................................ 154 10.3. 部署.......................................................................................................................................................................... 154 10.3.1. 部署Groovy 代码.........................................................................................................................................155 10.3.2. 开发时部署本地.groovy 文件.......................................................................................................................155 10.3.3. seam-gen........................................................................................................................................................ 155 Chapter 11. Seam 应用程序框架..............................................................................................................................................155 11.1. 简介...........................................................................................................................................................................156 11.2. Home 对象................................................................................................................................................................157 11.3. Query 对象................................................................................................................................................................161 11.4. Controller 对象......................................................................................................................................................... 163 Chapter 12. SeamJBoss 规则.............................................................................................................................................. 164 12.1. 安装规则.................................................................................................................................................................. 164 12.2. 在Seam 组件中使用规则....................................................................................................................................... 165 12.3. 在jBPM 流程定义中使用规则...............................................................................................................................166 Chapter 13. 安全........................................................................................................................................................................168 13.1. 概述.......................................................................................................................................................................... 168 13.1.1. 哪种模式更适合我的应用程序呢?............................................................................................................168 13.2. 需求.......................................................................................................................................................................... 168 13.3. 取消安全.................................................................................................................................................................. 168 13.4. 验证.......................................................................................................................................................................... 169 13.4.1. 配置............................................................................................................................................................... 169 13.4.2. 编写验证方法............................................................................................................................................... 169 13.4.3. 编写登录表单............................................................................................................................................... 171 13.4.4. 简化配置- 概述..........................................................................................................................................172 13.4.5. 处理安全异常............................................................................................................................................... 172 13.4.6. 登录重定向................................................................................................................................................... 172 13.4.7. HTTP 验证.................................................................................................................................................... 173 13.4.8. 高级验证特性............................................................................................................................................... 174 13.5. 错误消息.................................................................................................................................................................. 174 13.6. 授权.......................................................................................................................................................................... 175 13.6.1. 核心概念....................................................................................................................................................... 175 13.6.2. 保护组件....................................................................................................................................................... 175 13.6.3. 用户界面中的安全....................................................................................................................................... 177 13.6.4. 保护页面....................................................................................................................................................... 178 13.6.5. 保护实体....................................................................................................................................................... 178 13.7. 编写安全规则.......................................................................................................................................................... 180 13.7.1. 许可概述....................................................................................................................................................... 180 13.7.2. 配置规则文件............................................................................................................................................... 180 6 / 347 13.7.3. 创建安全规则文件....................................................................................................................................... 181 13.8. SSL 安全...................................................................................................................................................................183 13.9. 实现Captcha 测试................................................................................................................................................... 183 13.9.1. 配置Captcha Servlet.....................................................................................................................................184 13.9.2. 添加Captcha 到页面.................................................................................................................................... 184 13.9.3. 定制Captcha 图片........................................................................................................................................ 184 Chapter 14. 国际化和主题........................................................................................................................................................185 14.1. 本地化...................................................................................................................................................................... 185 14.2. 标签.......................................................................................................................................................................... 186 14.2.1. 定义标签....................................................................................................................................................... 186 14.2.2. 标签显示....................................................................................................................................................... 187 14.2.3. Faces Messages..............................................................................................................................................187 14.3. 时区.......................................................................................................................................................................... 188 14.4. 主题.......................................................................................................................................................................... 188 14.5. 使用cookie 保存locale 和主题设置.......................................................................................................................189 Chapter 15. Seam Text...............................................................................................................................................................190 15.1. 基本格式化.............................................................................................................................................................. 190 15.2. 输入代码和有特殊字符的文本............................................................................................................................... 192 15.3. 链接.......................................................................................................................................................................... 193 15.4. 输入HTML.............................................................................................................................................................. 193 Chapter 16. iText PDF 生成...................................................................................................................................................... 193 16.1. 使用PDF 支持......................................................................................................................................................... 193 16.1.1. 创建一个文档............................................................................................................................................... 194 16.1.2. 基本的文本元素........................................................................................................................................... 194 16.1.3. 页眉和页脚................................................................................................................................................... 197 16.1.4. 章节............................................................................................................................................................... 198 16.1.5. 列表............................................................................................................................................................... 199 16.1.6. 表格............................................................................................................................................................... 200 16.1.7. 文档常量....................................................................................................................................................... 202 16.1.8. iText 配置...................................................................................................................................................... 202 16.2. 图表.......................................................................................................................................................................... 203 16.3. 柱状图编码.............................................................................................................................................................. 207 16.4. 更详细的文档.......................................................................................................................................................... 208 Chapter 17. 电子邮件................................................................................................................................................................208 17.1. 创建一条消息.......................................................................................................................................................... 208 17.1.1. 附件............................................................................................................................................................... 209 17.1.2. HTML/Text 交替部分..................................................................................................................................210 17.1.3. 多个收件人................................................................................................................................................... 211 17.1.4. 多条信息....................................................................................................................................................... 211 17.1.5. 模板................................................................................................................................................................211 17.1.6. 国际化........................................................................................................................................................... 212 17.1.7. 其它的标识头............................................................................................................................................... 212 17.2. 接收邮件.................................................................................................................................................................. 213 17.3. 配置.......................................................................................................................................................................... 213 17.3.1. mailSession..................................................................................................................................................214 17.4. Meldware.................................................................................................................................................................. 214 17.5. 标签.......................................................................................................................................................................... 215 7 / 347 Chapter 18. 异步和消息............................................................................................................................................................217 18.1. 异步.......................................................................................................................................................................... 217 18.1.1. 异步方法....................................................................................................................................................... 218 18.1.2. 包含Quartz Dispatcher 的异步方法.............................................................................................................220 18.1.3. 异步事件....................................................................................................................................................... 223 18.2. Seam 中的消息........................................................................................................................................................ 223 18.2.1. 配置............................................................................................................................................................... 223 18.2.2. 发送消息....................................................................................................................................................... 223 18.2.3. 利用消息驱动Bean 接收消息......................................................................................................................224 18.2.4. 在客户端接收消息....................................................................................................................................... 224 Chapter 19. 缓存........................................................................................................................................................................225 19.1. 在Seam 中使用JBossCache...................................................................................................................................225 19.2. 页片段缓存.............................................................................................................................................................. 226 Chapter 20. Web Services.......................................................................................................................................................... 227 20.1. 配置和打包.............................................................................................................................................................. 227 20.2. 对话的Web Services................................................................................................................................................228 20.2.1. 建议策略....................................................................................................................................................... 229 20.3. Web Servic 范例....................................................................................................................................................... 229 Chapter 21. Remoting................................................................................................................................................................230 21.1. 配置.......................................................................................................................................................................... 231 21.2. Seam 对象.................................................................................................................................................................231 21.2.1. Hello World 示例.......................................................................................................................................... 231 21.2.2. Seam.Component...........................................................................................................................................233 21.2.3. Seam.Remoting..............................................................................................................................................235 21.3. EL 表达式求值........................................................................................................................................................ 235 21.4. 客户端接口.............................................................................................................................................................. 235 21.5. 上下文...................................................................................................................................................................... 236 21.5.1. 设置和读取对话ID......................................................................................................................................236 21.5.2. 当前对话范围内的远程调用........................................................................................................................ 236 21.6. 批量请求.................................................................................................................................................................. 237 21.7. 使用数据类型.......................................................................................................................................................... 237 21.7.1. Primitives / Basic 类型.................................................................................................................................237 21.7.2. JavaBeans...................................................................................................................................................... 237 21.7.3. Date 和Time................................................................................................................................................. 238 21.7.4. Enums 枚举类型.......................................................................................................................................... 238 21.7.5. Collections 集合........................................................................................................................................... 238 21.8. 调试.......................................................................................................................................................................... 239 21.9. 加载消息.................................................................................................................................................................. 239 21.9.1. 修改信息....................................................................................................................................................... 239 21.9.2. 隐藏加载信息............................................................................................................................................... 239 21.9.3. 自定义加载指示器....................................................................................................................................... 240 21.10. 控制返回数据........................................................................................................................................................ 240 21.10.1. 一般字段的约束......................................................................................................................................... 241 21.10.2. 集合和映射的约束..................................................................................................................................... 241 21.10.3. 特定类型对象的约束................................................................................................................................. 241 21.10.4. 组合约束..................................................................................................................................................... 241 21.11. JMS 消息................................................................................................................................................................ 242 8 / 347 21.11.1. 配置..............................................................................................................................................................242 21.11.2. 订阅JMS 主题............................................................................................................................................ 242 21.11.3. 退订主题..................................................................................................................................................... 242 21.11.4. 调整轮询过程............................................................................................................................................. 242 Chapter 22. Seam 和Google 的Web 工具包(GWT)................................................................................................................243 22.1. 配置.......................................................................................................................................................................... 243 22.2. 准备你的组件.......................................................................................................................................................... 243 22.3. 将GWT 小组件接到Seam 组件............................................................................................................................. 244 22.4. GWT Ant Targets...................................................................................................................................................... 246 Chapter 23. Spring Framework 集成........................................................................................................................................ 247 23.1. 把Seam 组件注入Spring Bean 中.......................................................................................................................... 248 23.2. 将Spring Bean 注入到Seam 组件中...................................................................................................................... 249 23.3. 将Spring Bean 转换为Seam 组件.......................................................................................................................... 250 23.4. Seam 作用域的Spring Bean................................................................................................................................... 250 23.5. 使用Spring PlatformTransactionManagement........................................................................................................251 23.6. 在Spring 中使用Seam 管理的持久化上下文....................................................................................................... 251 23.7. 在Spring 中使用Seam 管理的Hibernate 会话......................................................................................................253 23.8. 作为Seam 组件的Spring 应用上下文................................................................................................................... 253 23.9. 使用Spring TaskExecutor 的@Asynchronous.........................................................................................................253 Chapter 24. Hibernate Search.................................................................................................................................................... 254 24.1. 简介.......................................................................................................................................................................... 254 24.2. 配置.......................................................................................................................................................................... 254 Note............................................................................................................................................................................255 Note............................................................................................................................................................................255 24.3. 用法.......................................................................................................................................................................... 256 Note............................................................................................................................................................................256 Caution.......................................................................................................................................................................257 Chapter 25. Seam 配置和Seam 应用程序打包........................................................................................................................258 25.1. Seam 基本配置........................................................................................................................................................ 258 25.1.1. 将Seam 与JSF 和servlet 容器集成.......................................................................................................... 258 25.1.2. 使用Facelets................................................................................................................................................. 258 25.1.3. Seam Resource Servlet.................................................................................................................................. 259 25.1.4. Seam Servlet 过滤器.....................................................................................................................................259 25.1.5. 将Seam 与你的EJB 容器集成.................................................................................................................... 262 25.1.6. 切记!........................................................................................................................................................... 263 25.2. 在Java EE 5 中配置Seam...................................................................................................................................... 264 25.2.1. 打包............................................................................................................................................................... 264 25.3. 在J2EE 中配置Seam..............................................................................................................................................265 25.3.1. 在Seam 中引导Hibernate........................................................................................................................... 266 25.3.2. 在Seam 中引导JPA.....................................................................................................................................266 25.3.3. 打包............................................................................................................................................................... 266 25.4. 在Java SE 中配置Seam,没有内嵌JBoss............................................................................................................267 25.5. 用嵌入式的JBoss 在Java SE 中配置Seam...........................................................................................................267 25.5.1. 安装嵌入式的JBoss.....................................................................................................................................268 25.5.2. 打包............................................................................................................................................................... 268 25.6. 在Seam 中配置jBPM.............................................................................................................................................269 25.6.1. 打包............................................................................................................................................................... 270 9 / 347 25.7. 在Portal 中配置Seam.............................................................................................................................................271 25.8. 在JBoss AS 中配置SFSB 和会话超时...................................................................................................................271 Chapter 26. Seam on OC4J........................................................................................................................................................272 26.1. jee5/booking 实例................................................................................................................................................... 272 26.1.1. 预订酒店实例的依赖包............................................................................................................................... 273 26.1.2. OC4J 需要的额外依赖包..............................................................................................................................273 26.1.3. 配置文件的改变........................................................................................................................................... 273 26.1.4. 构建jee5/booking 实例............................................................................................................................... 274 26.2. 部署Seam 应用程序到OC4J 中............................................................................................................................. 274 26.3. 将一个使用seam-gen 创建的应用程序部署到OC4J 中。.............................................................................. 275 26.3.1. seam-gen 之类的应用程序的OC4J 部署描述符........................................................................................ 280 Chapter 27. Seam 注解..............................................................................................................................................................281 27.1. 用于定义组件的注解.............................................................................................................................................. 281 27.2. 用于双向注入的注解.............................................................................................................................................. 283 27.3. 关于组件生命周期方法的注解............................................................................................................................... 286 27.4. 用于声明上下文的注解.......................................................................................................................................... 286 27.5. 用于在J2EE 环境中使用Seam JavaBean 组件的注解......................................................................................... 289 27.6. 用于异常的注解...................................................................................................................................................... 289 27.7. 用于Seam Remoting 的注解................................................................................................................................. 290 27.8. 用于Seam 拦截器(interceptor)的注解...............................................................................................................290 27.9. 用于异步(asynchronicity)的注解....................................................................................................................... 291 27.10. 用于JSF 的注解.................................................................................................................................................... 291 27.10.1. 和dataTable 一起使用的注解...................................................................................................................292 27.11. 用于数据绑定的元数据注解................................................................................................................................ 292 27.12. 用于封包(packing)的注解.................................................................................................................................. 293 27.13. 用于和Servlet 容器集成的注解............................................................................................................................293 Chapter 28. 内置Seam 组件.....................................................................................................................................................294 28.1. 上下文注入组件...................................................................................................................................................... 294 28.2. 工具组件.................................................................................................................................................................. 294 28.3. 组件的国际化和主题.............................................................................................................................................. 296 28.4. 控制对话组件.......................................................................................................................................................... 297 28.5. 与jBPM 相关的组件...............................................................................................................................................298 28.6. 与安全相关的组件.................................................................................................................................................. 300 28.7. 与JMS 相关的组件.................................................................................................................................................300 28.8. 与邮件相关的组件.................................................................................................................................................. 300 28.9. 基础组件.................................................................................................................................................................. 301 28.10. 杂项组件................................................................................................................................................................ 303 28.11. 特殊组件.................................................................................................................................................................303 Chapter 29. Seam 的JSF 控件..................................................................................................................................................305 29.1. 标签.......................................................................................................................................................................... 305 29.2. 注解.......................................................................................................................................................................... 319 Chapter 30. 表达式语言增强....................................................................................................................................................320 30.1. 参数方法绑定.......................................................................................................................................................... 320 30.1.1. 用法............................................................................................................................................................... 320 30.1.2. 限制............................................................................................................................................................... 321 30.2. 参数值绑定.............................................................................................................................................................. 321 30.3. 映射.......................................................................................................................................................................... 322 10 / 347 Chapter 31. 测试Seam 应用程序.....................................................................................................
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值