看了Seam的例子,也看了Seam的简介,禁不住手痒,还是先做一个例子吧,遵照《seam_reference》第三章中的指导,使用JBossTool生成了自己的第一个例子,过程如下:
1、生成Sem web项目

2、输入项目的相关信息,如下图:

注意,如果是第一次使用Eclipse,需要配置Target Runtime和Target Server。
3、然后一路next,到最后一步时,如果是第一次使用,也要注意配置Seam Runtime和Connection Profile,如下图。最后点击finish按钮,即可创建Seam项目。

4、生成项目后,在Eclipse中共出现了四个项目,如下:
seamfirst (web项目)
seamfirst-ear (ear项目,集成web和ejb)
seamfirst-jar (ejb项目)
seamfirst-test (测试项目,进行单元测试)
此时运行JBossServer服务器,访问http://localhost:8080/seamfirst链接,出现如下图页面,此时Seam帮我们生成了一个框架,包含了基本的登录和退出功能,还有一个首页。

5、继续!使用Seam生成单表的CRUD操作。本步骤前提,有一个mysql数据库,数据库中有一个Customer表,该表有ID(int类型)、
customername(varchar2类型)、customerdesc(varchar2类型)、createdate(date类型)、
email(varchar2类型)五个字段。在seamfirst项目上点击右键,选择Seam Generate
Entities菜单,弹出界面如下图:


单击finish按钮后,再运行JBoss
Server服务器,访问http://localhost:8080/seamfirst,发觉菜单栏上多了一个Customer
List菜单,单击此链接,即可进行Customer的添加、删除、修改、查询操作,虽然生成的界面不是很好看,也不是很符合我自己的操作习惯,但是功能
倒是完备。
以后若是修改了Seam提供的代码自动生成的模板,然后再使用该功能,想必生成的页面就符合自己的项目要求了,记下一笔,先不管它。
生成的代码分析:
生成的代码主要有两部分,一部分为Java代码,一部分为页面代码。
Java代码包括如下三个类:
Customer.java ---- 实体类,映射到数据库中的Customer表。
CustomerHome.java ----
SessionBean,提供了Customer类的创建、更新、删除功能。继承了
org.jboss.seam.framework.EntityHome类,EntityHome类中提供创建、更新、删除等基本功能。
CustomerList.java ---- SessionBean,提供了Customer类的查询功能。继承了org.jboss.seam.framework.EntityQuery类,EntityQuery类中提供了查询功能。
CustomerHome和CustomerList类中都使用了@Name annotation,这样在页面中就可以直接访问Session Bean中的方法了,达到了Seam将表现层和业务层直接融合的目标。
页面代码包括如下文件:
Customer.xhtml
Customer.page.xml
CustomerEdit.xhtml
CustomerEdit.page.xml
CustomerList.xhtml
CustomerList.page.xml
刚开始看这段代码时,困惑我的有两个地方
一个是CustomerList.xhtml中rich:dataTable的value为"#
{customerList.resultList}",customerList我明白指的是CustomerList
SessionBean,但是我看遍了其代码,也没有发现有resultList属性,后来仔细一看,才发觉该属性在其父类EntityQuery中。
另一个是每一个xhtml文件都有一个对应的page.xml文件,想了半天也没整明白这是怎么回事,后来只好继续看Seam in Action的第三章,看着看着终于明白了,原来这是Seam对JSF的一个扩展,增强了JSF的功能,具体含义后面详细解释。
至此第一个使用JBossTools生成的Seam例子完成了,好像很简单 :-)
分享到:
相关推荐
- **本教程**:主要介绍了JBoss Seam的基本概念、核心组件以及通过一系列示例项目来学习Seam的实际应用。 #### 二、Seam基础知识与实例分析 ##### 2.1 第一个Seam应用:注册示例 - **实体类**:`User.java`定义了...
1.2. 第一个例子:注册示例.............................................................................................................................................. 15 1.2.1. 了解代码.................
- **集成性**:JBoss Seam可以很好地与其他JBoss项目(如JBoss EAP、JBoss Portlet Bridge等)以及第三方技术集成。 - **国际化支持**:内置了国际化(i18n)和本地化(l10n)的支持,使得开发多语言应用变得更加...
【标签】"seam3 jpa"表明这个例子使用的是Seam 3框架,这是Seam的第三个主要版本,对JSF 2.0和CDI进行了优化,提供了更好的集成和性能。 在压缩包文件"testprog"中,可能包含了项目的源代码、配置文件、测试程序等...
JBoss Seam是一个基于Java EE的企业级应用框架,它提供了一系列高级功能,使得开发人员能够更加高效地构建复杂的应用程序。该框架的主要特点在于它对组件化、会话管理和面向组件的编程的支持,这些特性极大地简化了...
EJB 3.0是Enterprise JavaBeans的第三个主要版本,它极大地简化了企业级Java开发。EJB 3.0引入了注解驱动的模型,使得开发者无需编写大量的XML配置文件就能声明实体Bean和会话Bean。此外,EJB 3.0还包括了实体关系...
##### 1.2 第一个例子:注册示例 本节通过一个简单的用户注册示例来介绍Seam应用的基本结构和开发流程。 **1.2.1.1 实体Bean:User.java** `User.java` 是一个实体Bean,用于表示应用中的用户信息。它通常包含了...