??xml version="1.0" encoding="utf-8" standalone="yes"?>
当窗口关闭前做的动作
function window.onbeforeunload(){
}
在JS中定义数l删除方?
<script language=javascript>
Array.prototype.del=function(n) { //n表示W几,?开始算赗?br />
//prototype为对象原型,注意q里为对象增加自定义Ҏ的方法?br />
if(n<0) //如果n<0Q则不进行Q何操作?br />
return this;
else
return this.slice(0,n).concat(this.slice(n+1,this.length));
/*
concatҎQ返回一个新数组Q这个新数组是由两个或更多数l组合而成的?br />
q里是q回this.slice(0,n)/this.slice(n+1,this.length)
l成的新数组Q这中间Q刚好少了第nV?br />
sliceҎQ?q回一个数l的一D,两个参数Q分别指定开始和l束的位|?br />
*/
}
//我们来试一试这个自己增加的Ҏ
var test=new Array(0,1,2,3,4,5);
test=test.del(3); //?vQ这里也是删除W?V?br />
alert(test);
</script>
jquery:
赋?$("#tmidtemp").attr("value","XXXXX")
得到?$("#tmidtemp").attr("value")
dwr:
解析mapl构数据:
function built_trademark_left(data){
var bar = document.getElementById('s1');
var optionitems="";
for(var property in data){
optionitems+="<option value='"+property+"'>"+data[property]+"</option>"; //property是key;data[property]是?br />
}
$(optionitems).appendTo(bar);
data=null;
}
css:
背景颜色渐变:
background:;filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#ffffff,endColorStr=#FFD922);
hibernate 用sql查询
SQLQuery 在调用list()Ҏ前要加addEntity(XX,XX) 或?addScalar(XX,XX) Ҏ?br />
例如Q?br />
String sql = "select {tll.*},(select t.appn_no from Trademark t where t.id = tll.tmid) as appn_no,"
+"(select t.tm_type from Trademark t where t.id = tll.tmid) as tm_type,"
+"(select l.ref_no from licenagre l where l.id = tll.laid) as ref_no,"
+"(select l.tm_licensor from licenagre l where l.id = tll.laid) as tm_licensor "
+"from tmLnkLa tll";
SQLQuery sqlQuery = dao.getHibernateTemplate().getSessionFactory().openSession().createSQLQuery(sql);
sqlQuery.addEntity("tll", TmLnkLa.class);
sqlQuery.addScalar("appn_no", Hibernate.STRING);
sqlQuery.addScalar("tm_type", Hibernate.STRING);
sqlQuery.addScalar("ref_no", Hibernate.STRING);
sqlQuery.addScalar("tm_licensor", Hibernate.STRING);
List list = sqlQuery.list();
在多表查询中Qؓ避免字段同名问题Q需要加 {XXX} 如上例中?{tll.*}Q否则会出现cM: Invalid column name: id0_ 的错?br />
相关资料Q?/span>
?/span>jBPM学习W记(程设计与控?/span>)?/span>
?/span>jBPM学习W记(框架设计?/span>)?/span>
pȝq_Q?/span>
pȝ环境Q?/span>
Windows 2003 | SUN JDK1.6U4 | Tomcat6.0.14 | jbpm-starters-kit-3.1.4 | MySQL 6.0
L完整名称Q?/span>
zsy-aten
览?/span>
Internet Explorer 6.0
安装包及相关软gQ?/strong>
1?span style="font-family: 'Times New Roman'"> 安装JDK?/span>MySQL
JDK的安装这里就不多说了Q学q?/span>Java的h都知道,本实验安装的?/span>jdk-6u4版本。安装完后记得添?/span>JAVA_HOME的环境变量?/span>
MySQL的安装不属于本文的介l范_请参阅相x档。本实验安装的是MySQL 6.0版本Q安装完后徏立的数据库名?/span>jbpmQ创建的用户名ؓjbpmuserQ密码ؓshine?/span>
2?span style="font-family: 'Times New Roman'"> 安装Tomcat下蝲安装Tomcat-6.0.16是目前最新版本:http://apache.mirror.phpchina.com/tomcat/tomcat-6/v6.0.16/bin/apache-tomcat-6.0.16.exe Q要?/span>JDK安装之后安装TomcatQ安装过E中会自动搜?/span>JRE的目录,当然也可以选择其它?/span>JREQ其它默认设|即可?/span>
3?span style="font-family: 'Times New Roman'"> 安装AntAnt 是一个编译工P使用 jBPM 时必ȝ它来~译文gQ?/span> jBPM 中的很多操作都要用到 Ant Q安装方法如下:
Q?/span>1Q?/span> 先下载:http://apache.mirror.phpchina.com/ant/binaries/apache-ant-1.7.0-bin.zipQ?/span>
Q?/span>2Q?/span> 解压?/span> E:\Java\tools\apache-ant-1.7.0 Q当然其他目录也可以Q;
Q?/span>3Q?/span> 讄环境变量Q?/span>ANT_HOME= E:\Java\tools\apache-ant-1.7.0Q?/span>
Q?/span>4Q把 %ANT_HOME%\bin 加入到环境变?/span> PATH 中?/span>
4?span style="font-family: 'Times New Roman'"> 安装jBPM下蝲jBPM-JPDL本ؓ3.2.2Q?/span>http://labs.jboss.com/jbossjbpm/jbpm_downloads/下蝲jPDL Suite版,q个版本是包含所有的一整套工具Q下载后是个压羃包解压到 E:\Java\tools Q?/span>\jbpm-jpdl-3.2.2 Q目录下主要包含以下几个子目录:
l src —?/span> jBPM 的源代码
l config —?/span> jBPM?/span>Hibernate?/span>log4j的配|文?/span>
l db —?/span> 各种数据库的SQL语句
l lib —?/span> 依赖的第三方依赖cd
l doc —?/span> API文档及用户用向?/span>
l designer —?/span> 辅助开?/span> jBPM ?/span> Eclipse 插gQ具体在 eclipse子目录中
l server —?/span> 一个已l配|好了的Z JBoss ?/span> jBPM 控制台及CZ
5?span style="font-family: 'Times New Roman'"> 安装Eclipse?/span>jBPM开发插?/span>Eclipse不是开?/span> jBPM 必须的工P但它是对 jBPM 开发很有帮助的工具Q特别是 jBPM 提供了一?/span> Eclipse 插g用来辅助开?/span> jBPM 。关?/span> Eclipse 的安装请参阅相关文档。本实验安装的是MyEclipse6.0集成Eclipse3.3?/span>
安装?/span>Eclipse安装jBPM的开发插Ӟ步骤如下Q?/span>
Q?Q?span style="font-family: 'Times New Roman'"> 打开Eclipse选择菜单“Help->Software Updates->Find and Install”Q?/span>
Q?Q?span style="font-family: 'Times New Roman'"> 弹出H口中选择“Search for new features to install”Q然后点?#8220;Next >”Q如?/span>
Q?Q?span style="font-family: 'Times New Roman'">
点击按扭“New Local Site…”选择插g目录Q位?/span>designer\ eclipse目录下,如:E:\Java\tools\jbpm-jpdl-3.2.2\designer\eclipse。选定后点“OK”Q如?/span>
Q?Q?span style="font-family: 'Times New Roman'">
选中“designer/eclipse”Q然后点?#8220;Finish”Q如?/span>
Q?Q?span style="font-family: 'Times New Roman'">
然后选择同意条款Q接提示步骤安装可以了?/span>到此为止需要的所有工具都安装好了。接下来先体验一?/span>jBPM工作。在 JBoss jBPM Starters Kit ?/span> jbpm-server 目录是一个已l在JBoss中配|好的了 jBPM CZQ双?/span> jbpm-server 目录下的 start.bat 文gQ启?/span> JBoss 服务。打开|页Q?/span> http://localhost:8080/ jbpm-console 得到如下面Q?/span>
q是一个流E控制管理^収ͼ用右边的账号与密码就可以dQ这个控制台包括程理Q可以部|流E、删除流E、查看流E图、管理流E实例等Q还有Q务管理,工作理及用户与用户l管理?/span>
ZTomcat?/span>MySQL的部|Ԍ
现在要把上面演示的例子部|到Tomcat中,q将数据数配|ؓMySQL?/span>
STEP 1Q初始化数据?/span>jBPM 需要数据库支持Q?/span> jBPM 会把自己的一个初始化数据存储到数据库Q同时工作流的数据也是存储到数据库中的?/span> jBPM 使用 Hibernate 作ؓ的存储层。在E:\Java\tools\jbpm-jpdl-3.2.2\db\目录下有?/span>jbpm.jpdl.mysql.sql数据库脚本文件。我们不能直接导入该文g, 会提C有错误, 应ؓ该文件格式有问题, 首先打开该文?/span>(推荐UltraEdit), 把前面的 alter table JBPM_XX 语句都删?/span>(因ؓ我们使用的是新的数据?/span>,所以需要这些语?/span>, q个脚本文g是升U?/span>3.2的数据库表结构用?/span>) 然后在每一行前面添加一个分?/span> 不然脚本执行会出错。这样就可以?/span>source命o导入了?/span> 导入?/span>, 表结构创建成功?/span>
STEP 2Q准备发布包?/span>E:\Java\tools\jbpm-jpdl-3.2.2\deploy 文g夹下 q行ant customize.console.for.tomcat。执行命令后会在 E:\Java\tools\jbpm-jpdl-3.2.2\deploy\customized文g夹下生成一?/span>jbpm-console.war 文gQ用WinRaR解压开Qƈ复制到已安装Tomcat?/span>webapps目录下,jbpmq需三个依赖cdQ分别是commons-collections.jar?/span>ehcache-1.2.3.jar?/span>jta.jarQ当然还有个MySQL驱动mysql-connector-java-5.0.7-bin.jarQ添加这?/span>jar文g ?/span> \$CATALINA_HOME\webapps\jbpm-console\WEB-INF\lib目录下?/span>
STEP 3Q修?/span>Hibernate数据库配|文?/span>修改\$CATALINA_HOME\webapps\jbpm-console\WEB-INF\classes?/span>hibernate.cfg.xml文g。这?/span>Hibernate的数据库配置文gQ要做一些修改,原来内容如下Q?/span>
<!-- hibernate dialect --> <property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property> <!-- JDBC connection properties (begin) === <property name="hibernate.connection.driver_class"> org.hsqldb.jdbcDriver</property> <property name="hibernate.connection.url">jdbc:hsqldb:mem:jbpm</property> <property name="hibernate.connection.username">sa</property> <property name="hibernate.connection.password"></property> ==== JDBC connection properties (end) --> <property name="hibernate.cache.provider_class"> org.hibernate.cache.HashtableCacheProvider</property> <!-- DataSource properties (begin) --> <property name="hibernate.connection.datasource">java:/JbpmDS</property> <!-- DataSource properties (end) --> |
修改后如下:
<!-- hibernate dialect --> <property name="hibernate.dialect"> org.hibernate.dialect.MySQLInnoDBDialect</property> <property name="hibernate.connection.driver_class"> com.mysql.jdbc.Driver</property> <property name="hibernate.connection.url"> jdbc:mysql://localhost:3306/jbpm</property> <property name="hibernate.connection.username">jbpmuser</property> <property name="hibernate.connection.password">shine</property> <property name="hibernate.cache.provider_class"> org.hibernate.cache.HashtableCacheProvider</property> |
有两U方法都可以实现Q但摧荐W一U方法?/span>
Ҏ一Q配|一?/span>JDBC RealmQ在\$CATALINA_HOME\webapps\jbpm-console\META-INF目录下新?/span>context.xml文gQ内容如下:
<?xml version="1.0" encoding="UTF-8"?> <Context> <Realm className="org.apache.catalina.realm.JDBCRealm" driverName="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/jbpm" connectionName="jbpmuser" connectionPassword="shine" userTable="JBPM_ID_USER u, JBPM_ID_MEMBERSHIP m, JBPM_ID_GROUP g" userNameCol="g.TYPE_ = 'security-role' AND m.GROUP_ = g.ID_ AND m.USER_ = u.ID_ AND u.NAME_" userCredCol="DISTINCT u.PASSWORD_" userRoleTable="JBPM_ID_USER u, JBPM_ID_MEMBERSHIP m, JBPM_ID_GROUP g" roleNameCol="g.NAME_" /> </Context> |
Ҏ二:直接修改 /$CATALINA_HOME/conf/tomcat-users.xml文g来设|安全域。ؓ了不?/span>tomcat已有的用户冲H?/span>,q里?/span> tomcat以前的登陆帐?/span>username="admin" 修改?/span>username="tadmin"Q修改后的文件如下:
<?xml version='1.0' encoding='utf-8'?> <tomcat-users> <role rolename="user"/> <role rolename="administrator"/> <role rolename="manager"/> <role rolename="sales"/> <role rolename="hr"/> <role rolename="admin"/> <role rolename="participant"/> <user username="user" password="user" roles="user,sales"/> <user username="shipper" password="shipper" roles="user,hr"/> <user username="manager" password="manager" roles="admin,hr,manager,user,sales"/> <user username="tadmin" password="" roles="admin,manager"/><user username="admin" password="admin" roles="admin,user,hr"/> </tomcat-users> |
STEP 5Q初始化基础的用h?/span>
?/span>MySQL数据库中执行以下SQL语句Q进行初始化用户信息Q如下:
INSERT INTO JBPM_ID_GROUP VALUES(1,'G','sales','organisation',NULL); INSERT INTO JBPM_ID_GROUP VALUES(2,'G','admin','security-role',NULL); INSERT INTO JBPM_ID_GROUP VALUES(3,'G','user','security-role',NULL); INSERT INTO JBPM_ID_GROUP VALUES(4,'G','hr','organisation',NULL); INSERT INTO JBPM_ID_GROUP VALUES(5,'G','manager','security-role',NULL); INSERT INTO JBPM_ID_USER VALUES(1,'U','user','user@sample.domain','user'); INSERT INTO JBPM_ID_USER VALUES(2,'U','manager','manager@sample.domain','manager'); INSERT INTO JBPM_ID_USER VALUES(3,'U','admin','admin@sample.domain','admin'); INSERT INTO JBPM_ID_USER VALUES(4,'U','shipper','shipper@sample.domain','shipper'); INSERT INTO JBPM_ID_MEMBERSHIP VALUES(1,'M',NULL,NULL,2,4); INSERT INTO JBPM_ID_MEMBERSHIP VALUES(2,'M',NULL,NULL,3,4); INSERT INTO JBPM_ID_MEMBERSHIP VALUES(3,'M',NULL,NULL,4,4); INSERT INTO JBPM_ID_MEMBERSHIP VALUES(4,'M',NULL,NULL,4,3); INSERT INTO JBPM_ID_MEMBERSHIP VALUES(5,'M',NULL,NULL,1,3); INSERT INTO JBPM_ID_MEMBERSHIP VALUES(6,'M',NULL,NULL,2,3); INSERT INTO JBPM_ID_MEMBERSHIP VALUES(7,'M',NULL,NULL,3,3); INSERT INTO JBPM_ID_MEMBERSHIP VALUES(8,'M',NULL,NULL,3,2); INSERT INTO JBPM_ID_MEMBERSHIP VALUES(9,'M',NULL,NULL,2,2); INSERT INTO JBPM_ID_MEMBERSHIP VALUES(10,'M',NULL,NULL,2,5); INSERT INTO JBPM_ID_MEMBERSHIP VALUES(11,'M',NULL,'boss',2,1); INSERT INTO JBPM_ID_MEMBERSHIP VALUES(12,'M',NULL,NULL,1,1); |
启动时查?/span>Tomcat的日志,查是否正常启动,未添加所有支持库或数据库配置出错Q都会引起启动失败?/span>
注意Q到此ؓ止启?/span>TomcatQ?/span>JBPM服务p正常q行了,已经可以在上面发布流E,接着W五步中部v一?/span>jbpm自带的流E例子?/span>
STEP 7Q发布例子流E?/span>
打开|页Q?/span>http://localhost:8080/jbpm 得到如下面p明已l部|成功:
用右边的manage账号dQ如下图Q?/span>
点击“Deploy”转到部v程面Q点?#8220;览”按扭选择E:\Java\tools\jbpm-jpdl-3.2.2\examples\websale\target\websale.jpdl文gQ名后点?#8220;Deploy”按扭部v?/span>