81,091
社区成员
发帖
与我相关
我的任务
分享
function convert(KOSTL,STAT1){
if(KOSTL == "122011") { return "10001175"; }
else if (KOSTL == "122021"){ return "10001170";}
else if (KOSTL == "122031"){ return "10001155";}
......
......
else{ return ""; }
}
package com.sunxin.test;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import javax.script.Invocable;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
public class JsTest {
public static void main(String[] args) throws Exception {
testJSFile();
testJSFile();
}
private static void testJSFile() throws Exception {
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine engine = mgr.getEngineByName("javascript");
engine.eval(readJSFile());
Invocable inv = (Invocable) engine;
Object res = (Object) inv.invokeFunction("convert", new String[] { "505041", "D" });
System.out.println("res:" + res);
}
private static String readJSFile() throws Exception {
StringBuffer script = new StringBuffer();
File file = new File("js.txt");
FileReader filereader = new FileReader(file);
BufferedReader bufferreader = new BufferedReader(filereader);
String tempString = null;
while ((tempString = bufferreader.readLine()) != null) {
script.append(tempString).append("\n");
}
bufferreader.close();
filereader.close();
return script.toString();
}
}
res:10001005
Exception in thread "main" javax.script.ScriptException: sun.org.mozilla.javascript.internal.EvaluatorException: Too deep recursion while parsing (<Unknown source>#367) in <Unknown source> at line number 367
at com.sun.script.javascript.RhinoScriptEngine.eval(RhinoScriptEngine.java:110)
at com.sun.script.javascript.RhinoScriptEngine.eval(RhinoScriptEngine.java:124)
at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:247)
at com.sunxin.test.JsTest.testJSFile(JsTest.java:21)
at com.sunxin.test.JsTest.main(JsTest.java:15)