官方主页:http://www.seamframework.org/Home
开发环境:JBoss Developer Studio(或者使用Eclipse+JBossTools[http://www.jboss.org/tools/download/index.html]也可)。
在IDE环境下通过新建Seam Web Project新建Seam工程,对数据库配置后在使用Seam Generate Entities自动创建Model类。
可惜的是,Seam Generate Entities功能还不是很好,感觉使用它生成POJO时很多数据库类型都不能使用(譬如数据库表中有的字段为text类型等等),希望Seam在今后的版本中能够在这方面有所改进。
新建的工程大致如下图所示:
用到的lib一览大致为:
antlr-runtime.jar
commons-beanutils.jar
commons-digester.jar
core.jar
drools-compiler.jar
drools-core.jar
jboss-el.jar
jboss-seam-debug.jar
jboss-seam-ioc.jar
jboss-seam-mail.jar
jboss-seam-pdf.jar
jboss-seam-remoting.jar
jboss-seam-ui.jar
jboss-seam.jar
jbpm-jpdl.jar
jsf-facelets.jar
mvel14.jar
richfaces-api.jar
richfaces-impl.jar
richfaces-ui.jar
数据库是MySQL,新建数据库tutorial,DDL如下:
- SET FOREIGN_KEY_CHECKS=0;
- -- ----------------------------
- -- Table structure for person
- -- ----------------------------
- CREATE TABLE `person` (
- `id` int(11) NOT NULL auto_increment,
- `name` varchar(20) NOT NULL,
- `sex` char(1) NOT NULL,
- `age` int(11) NOT NULL,
- PRIMARY KEY (`id`)
- ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
- -- ----------------------------
- -- Records
- -- ----------------------------
- INSERT INTO `person` VALUES ('1', 'shenbin', 'M', '28');
注意:还需要在Jboss下部署数据源:
tutorial-ds.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE datasources
- PUBLIC "-//JBoss//DTD JBOSS JCA Config 1.5//EN"
- "http://www.jboss.org/j2ee/dtd/jboss-ds_1_5.dtd">
- <datasources>
- <local-tx-datasource>
- <jndi-name>tutorialDatasource</jndi-name>
- <connection-url>jdbc:mysql://localhost:3306/tutorial</connection-url>
- <driver-class>com.mysql.jdbc.Driver</driver-class>
- <user-name>root</user-name>
- <password>root</password>
- <!--
- <exception-sorter-class-name>
- org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter
- </exception-sorter-class-name>
- <metadata>
- <type-mapping>mySQL</type-mapping>
- </metadata>
- -->
- </local-tx-datasource>
- </datasources>
启动Jboss服务器后,访问:http://localhost:8080/tutorial/home.seam即可。
如下是测试页面的演示:
关于Seam的资料(可惜是Seam1.2版本的资料,不过大致相同):
http://www.ibm.com/developerworks/cn/java/j-seam1/?S_TACT=105AGX52&S_CMP=tec.cto
http://www.ibm.com/developerworks/cn/java/j-seam2/?S_TACT=105AGX52&S_CMP=tec.cto
http://www.ibm.com/developerworks/cn/java/j-seam3/?S_TACT=105AGX52&S_CMP=tec.cto
强大的控件:
http://livedemo.exadel.com/richfaces-demo/richfaces/paint2D.jsf?c=paint2d&tab=usage