在Eclipse中制作一个Test2类,main中接收参数输入姓名,通过接口RuleService调用执行本地规则编译文件,返回结果。
添加java测试类
在java工程中添加一个java类,名为Test1.java,其内容编辑如下:
package com.flagleader;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import com.flagleader.engine.RuleEngine;
import com.flagleader.engine.RuleEngineException;
import com.flagleader.engine.RuleEngineFactory;
import com.flagleader.engine.RuleEngineManager;
import com.flagleader.engine.RuleService;
import com.flagleader.engine.RuleServiceException;
import com.flagleader.engine.impl.LocalRuleServiceFactory;
/**
* 调用指定目录下默认文件下的编译文件
* 使用的接口是RuleService ,该接口可以用在本地调用,以及服务调用
* @author Administrator
*/
public class Test2 {
public static void main(String[] args) {
try {
// 编译文件指定目录,默认版本目录是指定目录下的default
RuleEngineManager.getInstance().init(new File("e:\\rscfile"));
// 工厂模式,该接口可以用在本地调用,以及服务调用
RuleService engine = new LocalRuleServiceFactory().getRuleService();
// 以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类,只需加入上述的代码,即可完成调用规则包的工作。
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0113/2437/2901bc5e-6c6a-3f23-9313-ef6273905823-thumb.png)
- 大小: 42.9 KB
分享到:
相关推荐
Java版精华区 <br>含java jsp及js等精华帖子合集<br>适合收藏 查询<br><br>序号 精华区主题 <br>--------------------------------<br> 1. [目录]Java教程 <br> 1. [目录]Java语言教程 <br> 2. [目录]来自java的传说...
<br>UltraEdit 7.2<br>WebGain Studio 4 with VisualCafe<br>Forte for Java开发指南<br>Dreamweaver UltraDev<br>IBM NetObjects ScriptBuilder3.0<br>使用HomeSite加速JSP的开发<br>Java2的安全新特性下的Applet...
1,pic_open.zip<br>带位图预览的打开文件对话框(4KB)<END><br>2,bmpdlg.zip<br>一个位图对话框类 (11KB)<END><br>3,folder.zip<br>只显示文件夹信息的文件对话框(2KB)<END><br>4,dir_pic.zip<br>文件目录搜集工具...
C#编程经验技巧宝典源代码,目录如下:<br>第1章 开发环境 1<br><br>1.1 Visual Studio开发环境安装与配置 2<br><br>0001 安装Visual Studio 2005开发环境须知 2<br><br>0002 配置合适的Visual Studio 2005...
autocombo.zip<br>自动选择的ComboBox(18KB)<END><br>82,ccpicker2.zip<br>选择颜色的ComboBox(2)(29KB)<END><br>83,combtext.zip<br>增强了的CCombobox<4KB><END><br>84,flatcomb.zip<br>浮动的ComboBox COOL(4KB)...
Oracle 10g 第 2 版 ODAC 和 Oracle Developer Tools for Visual Studio .NET <br> 下载文件 <br> ODTwithODAC1020221.exe 235 MB(247,296,458 字节) <br> ODAC 安装说明 <br> Oracle Developer Tools For Visual ...
DriverStudio 3.2 升级补丁<br><br>将DriverStudio 3.2升级至DriverStudio 3.2.1<br><br>原说明如下:<br><br>Compuware DriverStudio – DriverSuite<br>Version 3.2 ONLY<br><br>Version 3.2 patch.<br>The ...
<br><br>Visual Assist X具有强大的编辑特色,提高了生产效率,可以完全集成到您的Microsoft开发环境中,升级了您的IDE,在不改变编程习惯的同时就可以感受到Visual Assist X为您带来的好处。 <br><br>Visual Assist...
<br>B.VBAPI函数参考手册.chm<br>C.VB经典编程集合.exe<br><br>D.Vb与Windows API讲座<br>E.VB 程序大揭秘.pdf<br>.................<br><br>文件为一个独立压缩包,解开后即可使用里面的文件。<br> 需要声明的是,...
培训机构VC++课件 <br>第01章 Visual C++ 6.0<br>第02章 基本C++语言<br>第03章 C++面向对象<br>第04章 MFC基本应用程序的建立<br>第05章 对话框和常用控件<br>第06章 菜单、工具栏和状态栏<br>第07章 框架窗口、...
Dynamic TWAIN特性:<br><br>能和纯Win32 API环境以及汇编环境兼容,这样使得Dynamic TWAIN:<br><br>更小:不需要C/C++运行函数库;<br>更快:JPEG译码器的核心引擎以及Dynamic TWAIN的图象处理部分通过汇编语言...
本书共分四部分,此为第一部分<br>包括基础知识、源代码管理、生成、大型项目考虑事项<br>项目管理、过程指南、报告、设置和维护团队环境和<br>Visual Studio 2008 Team Foundation Server等九章节<br><br>Jeff ...
<br>支持混合编程,不仅其他程序可以操控 Visual Graph 的技术,而且 Visual Graph 的脚本可以调用其他语言的程序,也可以调用 DLL,扩展功能。脚本语言的编程习惯和一般语言相同,各种属性、函数名称也基本相同,...
<br> Word OCX ActiveX控件 是一个有功能的强大针对MS Word开发的ActiveX控件。...<br> <br> Word OCX ActiveX控件屏幕截图:<br><br> <img src=DownloadFilesother_activeximageswordocx.jpg><br><br>
在本文中,我们将深入探讨如何在Visual Studio 2019环境下使用C++通过Java Native Interface (JNI)来调用Java代码。JNI是Java平台的一部分,它为Java应用程序提供了与本地代码交互的能力,使得开发者可以将Java应用...
本教程将详细探讨如何使用C++通过JNI(Java Native Interface)来调用Java接口。JNI是Java平台标准的一部分,它允许Java代码和其他语言写的代码进行交互。下面,我们将深入讲解这个过程,并结合实际例子“CInvokJava...
<br> ◇ 熟悉Visual C++ 集成开发环境的基本使用方法,并完成一个简单的C++程序的编写、编译、调试和运行。<br>【重点和难点】<br> 本章的重点在于两种程序设计方法的理解,以及Visual C++ IDE的使用。<br> 其中...
总结起来,这个实例旨在展示如何克服跨平台调用的障碍,利用PowerBuilder调用Java Web服务,从而实现不同技术栈间的集成。了解并实践这个过程对于提升开发者在企业级应用开发中的技能是非常有价值的。
然后收录五大类函数:窗口管理、<br>图形设备接口、系统服务、国际特性以及网络服务;在附录部分,讲解如何在Visual Basic<br>和Delphi中对其调用。<br> 本书是从事Windows应用程序开发的软件工程师的必备参考手册。
**WCF(Windows Communication Foundation)接口调用**是.NET框架中一种强大的服务导向架构,用于构建高度可配置、安全和可扩展的分布式应用程序。本文将深入探讨如何通过POST和GET请求方式实现服务端与客户端之间的...