xml-eval基于 beetl 的評(píng)級(jí)引擎
一個(gè)使用 xml 和 beetl 來(lái)實(shí)現(xiàn)的計(jì)算引擎(評(píng)級(jí)引擎),支持樹(shù)形評(píng)級(jí)結(jié)構(gòu),通過(guò)計(jì)算得出一個(gè)評(píng)級(jí),可以用于打分等應(yīng)用。
<?xml version="1.0" encoding="UTF-8"?> <workspace name="評(píng)級(jí)"> <project name="銀行評(píng)級(jí)"> <doc name="評(píng)級(jí)得分" f="sum"> <node name="財(cái)務(wù)信息" f="sum"> <node name="年度利潤(rùn)">每月收入*12</node> <node name="年度負(fù)債" >每月負(fù)債*12*0.3</node> </node> </doc> </project> </workspace>
<node name="非財(cái)務(wù)信息" f="sum">
<node name="上訪次數(shù)" f="script">
<![CDATA[
var c =上訪次數(shù);
var d = 0;
if(c>10){
d=10;
}else{
d=100;
}
return d ;
]]>
</node>
</node>
EvalEngine engine = new EvalEngine();
Map<String,Object> paras = new HashMap<String,Object>();
paras.put("每月收入", 178832323.12);
paras.put("每月負(fù)債", 128.99);
InputStream ins = EvalEngineTest.class.getResourceAsStream("/sample/simple001.xml");
InputStreamReader reader = new InputStreamReader(ins,"utf8");
Object ret = engine.run(reader, paras);
System.out.println(ret);評(píng)論
圖片
表情
