Visual Rules Solution Java集成接口<1>—案例场景描述

案例场景描述:
外部系统传入一些学生基本信息(如:姓名、性别、年龄等),经规则引擎中的规则转换,学生信息以list信息返回给外部系统。

案例规则部分实现:
左键点击“文件”—“新建规则工程(N)”,如下图:





弹出窗体“创建新工程”,工程名称为“test1”,存放路径默认,勾选上“工程名同名时覆盖”,如下图:





新建规则包:右键点击工程“test1”—“新建规则包”,并将其命名为“学生录入”,如下图:





定义变量:点击对象库,查看其编辑窗体,点击传输数据中的 图标,弹出窗体,名称“id”,类型选择“int”,显示名称“编号”,如下图:








添加计算表格:右键点击“对象库 ”—“添加计算表格”,如下图:






弹出窗体,显示名称“学生表”,变量名称默认,如下图:





定义表格列:选择传入数据中的参数,右键点击复制,如下图:






点击计算表“学生表”,右键点击学生表结构选型卡中空白处,点击“粘贴”,如下图:







规则编写:右键点击规则包“学生录入”—“添加规则(N)”,并将其命名为“添加”,如下图:






右键点击规则“添加”—“内存表格操作向导”—“对表格的列赋值向导”,如下图:






选择需要插入的学生表的列,如下图:






点击确定后,发现提示信息中提示错误信息,解决方法是,属性名“其他表格”,对应的属性值“允许设置起他表格的列”,如下图:





修改规则包“学生录入”的属性,属性名“外部调用”,修改为“student.add”,如下图:






勾选内存表中的getListResult方法,如下图:





点击 图标—“变量赋值”—“传入数据”—“学生信息”,在点击如下图:





选择方法如下图:






查看规则查询学生信息,如下图:






点击规则包“学生录入”,选择测试选项卡,双击处输入值对应的列,进行输入值,输入完后,点击 图标,执行结果查看实际结果值列,如下图:






导出多付编译文件:为外部程序调用不同版本规则预备。
在E盘 根目录下创建文件夹rscfile,再在recfile目录下创建文件夹1.1、1.2和default,
点击规则包“学生录入”,点击图标 ,弹出浏览文件夹,选择default,如下图:





成功后弹出提示,如下图:





修改规则 如下:














导出编译文件到E:\rscfile\1.1目录下,如下图:






同理修改并保存到1.2版本









开发环境要求:打开附带的java工程文件dtoTest。

JDK环境设置:Java工程使用的jdk必须在1.5以上,为了能更好的确定工程的jdk文件,下面我们来查看,操作如下图:






弹出窗体,在左上方文 本框中输入“jdk”,点击Java Compiler,查看jdk,如果低于1.4,可进行更换,(JDK版本要求1.5以上(含1.5))如下图:






引入相关Jar包:点击工程“dtoTest”—“Build Path”—“Configure Build Path...”,
下图:




引入的jar位置,是工程目录下的... \Tomcat\webapps\ROOT\WEB-INF\lib ,
如:D:\VisualRules\Tomcat\webapps\ROOT\WEB-INF\lib,引入jar包有
common.jar、commons-beanutils.jar、commons-collections-3.1.jar、commons-lang-2.1.jar、
commons-logging.jar、engine.jar、ezmorph-1.0.5.jar、flservlet.jar、jdom.jar、json.jar,
如下图:







添加bean类
在java工程中添加一个java类,名为Student.java,其内容编辑如下:
package com.flagleader;
/**
* 学生信息
* @author
*/
public class Student {
private int id;//编号
private String name;//姓名
private int age;//年龄
private char sex;//性别
private String grade;//年龄
private String remark;//备注
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public char getSex() {
return sex;
}
public void setSex(char sex) {
this.sex = sex;
}
public String getGrade() {
return grade;
}
public void setGrade(String grade) {
this.grade = grade;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public Student() {
// TODO Auto-generated constructor stub
}
public Student(int id, String name, int age, char sex, String grade,
String remark) {
super();
this.id = id;
this.name = name;
this.age = age;
this.sex = sex;
this.grade = grade;
this.remark = remark;
}
@Override
public String toString() {
return &quot;Student [age=&quot; + age + &quot;, grade=&quot; + grade + &quot;, id=&quot; + id
+ &quot;, name=&quot; + name + &quot;, remark=&quot; + remark + &quot;, sex=&quot; + sex
+ &quot;]&quot;;
}
}



猜你喜欢

转载自silencelight.iteye.com/blog/2257119
今日推荐