使用 Google Charts、Ajax 和 Project Zero(WebSphere sMash)创建精巧的 mashup
2009-11-17 00:00:00 来源:WEB开发网清单 3. charts.groovy 的 Groovy 绑定
package zero.charts;
import java.io.FileNotFoundException;
import java.util.Map;
import org.codehaus.groovy.runtime.MethodClosure;
import zero.core.groovysupport.bindings.InvokeBindings;
public class ChartsBindings extends InvokeBindings
{
public void addVariables(Map<String, Object> variables)
{
super.addVariables(variables);
variables.put("create", new MethodClosure(this, "create"));
}
public Object create(Map<String, Object> chart)
throws FileNotFoundException, NoSuchMethodException
{
return invokeMethod("charts.groovy", "create", new Object[]{ chart });
}
}
在继续之前,注意传递给清单 3 中 create() 的参数类型为 java.util.Map。在 Zero 中,JSON 对象和 Maps 是一样的。Zero 的所有 I/O API 都知道如何在适当的时候完成 Map 与 JSON 之间的串行化,所以您不必学习专门的 API 就可以直接操纵 JSON 对象。
一旦清单 3 中的 Java 类就绪,就必须将其注册到配置文件中,以便让 Zero 知道它的存在。清单 4 中的文本必须添加到 /zero.charts/config/zero.config 中,以确保 Groovy 绑定有效,并且对 create() 的调用能够得到适当的处理。
更多精彩
赞助商链接