这只是一个测试状态的,可以进行传参
java
service
@Override
public RpsBody rdJs() {
RpsBody rpsBody = new RpsBody();
rpsBody.setCode("-1");
StringBuffer script = new StringBuffer();
try {
URL url =new URL("http://192.168.1.183:8088/img/test.js");
URLConnection urlconn = url.openConnection();
urlconn.connect();
HttpURLConnection httpconn =(HttpURLConnection)urlconn;
int httpResult = httpconn.getResponseCode();
if(httpResult != HttpURLConnection.HTTP_OK) {
System.out.print("无法连接到");
} else {
InputStreamReader isReader = new InputStreamReader(urlconn.getInputStream(),"UTF-8");
BufferedReader bufferReader = new BufferedReader(isReader);
String tempString = null;
while ((tempString = bufferReader.readLine()) != null) {
script.append(tempString).append("\n");
}
bufferReader.close();
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine engine = mgr.getEngineByName("javascript");
engine.eval(String.valueOf(script));
Invocable inv = (Invocable) engine;
Map map = new HashMap();
map.put("id","1");
map.put("name","2");
map.put("sex","3");
map.put("table","test");
Object abs = inv.invokeFunction("abs",map);//获取js方法并传参
System.out.println(abs);
Object test = testMapper.test(abs.toString());
System.out.println(test);
rpsBody.setData(test);
rpsBody.setCode("1");
rpsBody.setMessage("新增成功");
}
}catch (Exception e){
throw new FormatException(e.toString());
}finally {
}
rpsBody.setCode("1");
rpsBody.setMessage("操作成功");
return rpsBody;
}
mapper
@Mapper
public interface TestMapper {
@Select("${sql}")//select * from test
List<Map> test(String sql);
}
js脚本
function abs(body){
bas = "select * from "+body.table+" where name="+body.name
return bas
}