feat: support rhino and jinjava packer

This commit is contained in:
ReaJason
2025-01-30 17:24:14 +08:00
parent dad1f83365
commit 1f94ca41f6
17 changed files with 164 additions and 18 deletions
@@ -1,6 +1,5 @@
import com.googlecode.aviator.AviatorEvaluator;
import com.googlecode.aviator.AviatorEvaluatorInstance;
import groovy.lang.GroovyShell;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
@@ -1,5 +1,4 @@
import groovy.lang.GroovyShell;
import ognl.OgnlContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
@@ -1,4 +1,3 @@
import groovy.lang.GroovyShell;
import org.apache.commons.jxpath.JXPathContext;
import javax.servlet.ServletException;
@@ -16,6 +15,6 @@ public class JXPathServlet extends HttpServlet {
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String data = req.getParameter("data");
JXPathContext context = JXPathContext.newContext(null);
resp.getWriter().println(context.getValue(data ));
resp.getWriter().println(context.getValue(data));
}
}
@@ -0,0 +1,23 @@
import com.google.common.collect.Maps;
import com.hubspot.jinjava.Jinjava;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Map;
/**
* @author ReaJason
* @since 2025/1/30
*/
public class JinJavaServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String data = req.getParameter("data");
Jinjava jnj = new Jinjava();
Map<String, Object> context = Maps.newHashMap();
resp.getWriter().println(jnj.render(data, context));
}
}
@@ -0,0 +1,25 @@
import org.mozilla.javascript.Context;
import org.mozilla.javascript.Scriptable;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* @author ReaJason
* @since 2025/1/30
*/
public class RhinoServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String data = req.getParameter("data");
try (Context cx = Context.enter()) {
Scriptable scope = cx.initStandardObjects();
Object result = cx.evaluateString(scope, data, null, 1, null);
resp.getWriter().print(Context.toString(result));
}
}
}