Osc*_*nes 8 javascript java obfuscation jsp jstl
arrays.jsp:
//...
var x = <c:out value="${x}"/>
<c:if test="${empty doExternal}">
processExternalArrays();
</c:if>
//...
Run Code Online (Sandbox Code Playgroud)
我想缩小/混淆大型JSP文件中包含的JavaScript,其中许多JSP/JSTL变量混合到JavaScript代码中,例如上面的代码片段.
代码依赖于使用服务器端逻辑填充的变量,然后传递给客户端代码,如上所述.
我已经使用YUI压缩器缩小了我的JS文件,但我不知道如何处理我的JSP中的JavaScript代码.
是否有可能缩小/混淆这段代码,因为它是动态创建的?
除了借助 Ajaxical 功能结合 Servlet 将工作完全委托给纯 JS 之外,我没有看到其他方法,该 Servlet 在 Ajax 请求上返回所需的信息(以 JSON 的形式?)。
例如在 Servlet 中
Map<String, Object> data = new HashMap<String, Object>();
data.put("doExternal", doExternal);
data.put("x", x);
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(new Gson().toJson(data)); // Gson is a Java-JSON converter.
Run Code Online (Sandbox Code Playgroud)
以及在 JS 中(几乎没有jQuery的帮助,因为它使 Ajax 的工作变得不那么冗长)
$.getJSON('servleturl', function(data) {
var x = data.x;
if (!data.doExternal) {
processExternalArrays();
}
});
Run Code Online (Sandbox Code Playgroud)
这样你最终会得到干净的 JS,没有服务器端特定的混乱。
归档时间: |
|
查看次数: |
7727 次 |
最近记录: |