Java中如何执行JavaScript
我们在进行WEB开发的时候,经常需要在客户端编写一些js函数,这些函数如果需要在服务端执行的话,如果重新编写的话,就显得十分冗余,因此我们可以尝试在服务端,直接执行js,这样的话就可以避免重复劳动,同时,调用js也有个函数,就是非常方便调试。
最关键的一步就是调用
conext.evaluateString(scope, "script内容", "", 1, null); 将js装入服务端容器中 而这个往往只需要初始化一次即可
下面给出一个具体的用例,供参考:
/*
* (non-Javadoc)
*
* @see ygfmis.fw.system.scripting.ScriptEvaluator#evaluateExpression(java.lang.String,
* java.util.Map, java.lang.Class)
*/
public Object evaluateExpression(String expr) {
initJavaScriptContext();
java.lang.Object eval;
try {
if (log.isDebugEnabled()) {
log.debug("Evaluating javascript expression:" + expr);
}
eval = conext.evaluateString(scope, expr, "", 1, null);
if (log.isDebugEnabled()) {
log.debug("JavaScriptEvaluator->Javascript expression " + expr
+ " is evaluated to " + eval);
}
return eval;
} catch (Exception jse) {
if (log.isErrorEnabled()) {
log.error("JavaScriptEvaluator -> The result of expression "
+ expr + " can't be evaluated - error message="
+ jse.getMessage(), jse);
}
throw new ScriptException("Result cannot be evaluated", jse);
} finally {
//org.mozilla.javascript.Context.exit();
}
}
private static org.mozilla.javascript.Context conext = null;
private static Scriptable scope = null;
/**
* YGFMISWeb的地址.
*/
privat
相关文档:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package cn.vicky.socket;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.Vector;
/**
*
* @author Vicky
* 广播类
*/
public class BMana ......
面试中遇到的问题,大家共同学习!!
Java工厂模式
Java工厂模式看了这么多关于工厂模式的讲解,还是觉得这篇文章讲的好理解,贴出来和大家分享分享。
一、引子
话说十年前,有一个****户,他家有三辆汽车——Benz奔驰、Bmw宝马、Audi奥迪,还雇了司机为他开车。不过,****户坐车时总是怪怪的:上Benz车后 ......
取:
Cookie[] cookies = request.getCookies();
if(cookies!=null){
for(Cookie cookie : cookies){
if(cookie.getName().equals("mid")){
String mid = cookie.getValue();
}
}
}
存:
String mid ......
网址抓取 Java API 概述
http://code.google.com/intl/zh-CN/appengine/docs/java/urlfetch/usingjavanet.html
App Engine 应用程序可以与其他应用程序进行通信或通过抓取网址访问网络上的其他资源。应用程序可以使用网址抓取服务来发出 HTTP 和 HTTPS 请求并接收响应。出于效率和扩展性考虑,网址抓取服务使用 G ......