浏览 994 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2015-12-10
完成 Java类通过Servlet调用-xml格式 的1到7小点操作, 即(1、配置web.xml 2、配置说明 3、解析web.xml 4、编译文件存放目录 5、登录webrule管理平台 6、webrule管理平台 添加任务和添加服务 7、查看任务和服务) 新建版本库 访问webrule下的servser的index.jsp,即 http://localhost:8880/webrule/server点击选项卡“规则执行版本”,右键点击左边窗体“规则库版本”,选择“新建版本库”,如下图: 弹出窗体“工程信息”,工程名称文本框中输入1.1,如下图: 查看新建的1.1版本库,我们可以看到“学生录入”, 查看Java类通过Servlet调用-xml格式的4、编译文件存放目录,在此我们不是存放 D:\VisualRules\Tomcat\webapps\webrule\WEB-INF\classes目录,而是 D:\VisualRules\Tomcat\webapps\webrule\WEB-INF\rsc\1.1目录,这样在新建的1.1版本库中就能看到“学生录入”,如下图: 复制E:\rscfile\1.1目录下的student文件夹到 D:\VisualRules\Tomcat\webapps\webrule\WEB-INF\rsc\1.1目录下,如下图: 添加java测试类 在java工程中添加一个java类,名为Tes5.java,其内容编辑如下: package com.flagleader; import java.util.List; import com.flagleader.engine.RuleService; import com.flagleader.engine.RuleServiceException; import com.flagleader.engine.impl.RuleServerServletFactory; /** * 调用启动文件 * 使用的接口是RuleService ,该接口可以用在本地调用,以及服务调用, servlet调用 * 执行哪个版本下的编译文件。 * 如engine.setLibraryName("1.1"); * @author Administrator * */ public class Test5 { public static void main(String[] args) { try { // 工厂模式,该接口可以用在本地调用,以及服务调用 RuleService engine =new RuleServerServletFactory("http://localhost:8880/webrule/servlet/ruleservlet.servlet").getRuleService(); //执行哪个版本下的编译文件 engine.setLibraryName("1.1"); // 以dto形式为规则传参 Student student = new Student(1, "李丽", 12, '男', "六年级", "无"); // 执行规则,其中"student.add"为规则全名,student为传入参数 engine.executeBeans("student.add", student); //判断engine.get("studentList")是不是集合类型 if (engine.get("studentList").getClass().isAssignableFrom(java.util.ArrayList.class)){ // 执行完规则后,获取数据,"studentList"必须和规则中取内存表数据的变量名一致 List list = (List) engine.get("studentList"); // 由于规则中采用的是list<list>类型,需要做两次转换 List list1 = (List) list.get(0); // 循环次数为对象中字段个数 for (int i = 0; i < 6; i++) { System.out.print(list1.get(i) + "\t"); } } } catch (RuleServiceException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } 执行java测试类 点击执行后,可以看到如下结果: 说明已经调用了student.add规则包,并且根据传入的参数,返回处理结果以list<list>形式展示。 同理,任何的其他java类,只需加入上述的代码,即可完成调用规则包的工作。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |