我有一个 java pojo 类 TestRule,其变量 ExpectedResultCode 具有适当的 getter 和 setter。我正在使用决策表流口水
现在我想在java中访问ExpectedResultCode的这个设定值。
操作:调用 TestRule 类的 setResultCode setter 并从 Excel 设置适当的参数
TestRule.java-
public class TestRule {
public String ExpectedResultCode;
public String getResultCode() {
return ExpectedResultCode;
}
public void setResultCode(String ExpectedResultCode) {
this.ExpectedResultCode = ExpectedResultCode;
}
}
流口水代码:
KieContainer kieContainer = kieServices
.newKieContainer(kieServices.getRepository()
.getDefaultReleaseId());
kieSession = kieContainer.newKieSession();
TestRule testrule = new TestRule();
kieSession.insert(testrule);
System.out.println("Output of Result Code:" + testrule.getResultCode()); --> I'm getting Null Value here.
kieSession.fireAllRules();
在决策表中,我将操作更改为testrule.setResultCode($param)
我想得到“Result1”作为输出,但我得到的是 Null 值。
最佳答案
您在触发规则之前显示对象:
kieSession = kieContainer.newKieSession();
// create a TestRule object: ExpectedResultCode is null
TestRule testrule = new TestRule();
// insert the TestRule object: ExpectedResultCode is still null
kieSession.insert(testrule);
// display TestRule's ExpectedResultCode, which is still null
System.out.println("Output of Result Code:" + testrule.getResultCode());
// fire the rules
kieSession.fireAllRules();
在触发规则后打印值:
// now the object TestRule's ExpectedResultCode should have changed.
System.out.println("Output of Result Code:" + testrule.getResultCode());
关于java - 从 java 中的 drools excel 中获取值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29702588/