WEB开发网
开发学院软件开发Java 使用 Google Charts、Ajax 和 Project Zero(WebS... 阅读

使用 Google Charts、Ajax 和 Project Zero(WebSphere sMash)创建精巧的 mashup

 2009-11-17 00:00:00 来源:WEB开发网   
核心提示: 当然,归根到底,使用 Google Charts、Ajax 和 Project Zero(WebSphere sMash)创建精巧的 mashup(3),您仍然需要发送这样一个 URL 到 Google 的服务器,以获得所需的图表,将清单 3 中的 Java™ 类定义复制到 /zer

当然,归根到底,您仍然需要发送这样一个 URL 到 Google 的服务器,以获得所需的图表。为此,您将编写一个简单的 Groovy 方法,该方法将 JSON 对象中的字段值复制到一个图表 URL 中。借助 Groovy 的 GString 类型,您可以使 URL 字符串只有一行,而不必创建一个 java.lang.StringBuilder 并逐个添加值。这个 Groovy 方法的代码如清单 2 所示。

清单 2. 构造图表 URL 的 Groovy 代码

  def create(chart) 
  { 
    return "http://chart.apis.google.com/chart?chxt=x,y" + 
        "&cht=${chart.type}&chs=${chart.width}x${chart.height}" + 
        "&chtt=${chart.title}&chd=t:${chart.data.join(',')}" + 
        "&chxl=0:|${chart.xaxis.join('|')}|1:|${chart.yaxis.join('|')}"; 
  }    

基本上,清单 2 中的代码直接从 JSON 对象获得值并(使用 $ 语法)将这些值嵌入到 URL 中。惟一不同的是当 JSON 字段为数组时的情况,在此情况下,必须将它们的值连接成一个字符串。使用 join() 方法很容易做到这一点。

您应该将清单 2 中的代码复制到一个名为 /zero.charts/app/scripts/charts.groovy 的文件中。通过将该代码放到 /app/scripts 目录中,可以让应用程序中的其他 Groovy 脚本以及在依赖关系列表中包括 zero.charts 的任何应用程序访问到它。使该代码易于重用的最后一步是为之创建一个 Groovy 绑定,这将使开发人员可以直接在代码中调用 create() 方法,而不必使用 Zero 的更通用的 invokeMethod() 。要添加 Groovy 绑定,将清单 3 中的 Java™ 类定义复制到 /zero.charts/java 目录中。如果之前没有提供这个绑定,那么开发人员必须 输入粗体显示的代码行。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:使用 Google Charts

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接