Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Apr 29th, 2012  |  syntax: None  |  size: 1.35 KB  |  hits: 14  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Passing a DataTable object from JavaScript to Java
  2. {"cols":[
  3.          {"id":"Col1","label":"","type":"string"}
  4.          {"id":"Col2","label":"","type":"date"}
  5.         ],
  6.  "rows":[
  7.          {"c":[{"v":"a"},{"v":"Date(2010,10,6)"}]},
  8.          {"c":[{"v":"b"},{"v":"Date(2010,10,7)"}]}
  9.         ]
  10. }
  11.        
  12. cols -> columns
  13. c -> cells
  14. v -> value
  15.  
  16. type:"string" -> type:"TEXT"
  17. type:"number" -> type:"NUMBER"
  18.        
  19. DataTable dataTable = DataTable.create(JSONParser.parseLenient(data).isObject().getJavaScriptObject());
  20.        
  21. @WebService
  22. @Path("/tables")
  23. public class DataManager extends GenericManager<db, Long> {
  24.  
  25.     @Path("/hello/")
  26.     @GET
  27.     @Produces(MediaType.APPLICATION_JSON)
  28.     public DataTable getDataTable() {
  29.         DataTable data = new DataTable();
  30.         ... populate object ...
  31.         return data;
  32.     }
  33.        
  34. @Path("/hello/")
  35.     @GET
  36.     @Produces(MediaType.TEXT_PLAIN)
  37.     public String getDataTable() {
  38.         DataTable data = new DataTable();
  39.         CharSequence charSequence = JsonRenderer.renderDataTable(dataTable, true, true);
  40.         return charSequence.toString();
  41.     }
  42.        
  43. jQuery.ajax({
  44.     context: this,
  45.     type: 'Get',
  46.     url: url,
  47.     success: function(data) {
  48.          var args = eval('('+data+')');  // add parens around the returned string                          
  49.          var dataTable = new google.visualization.DataTable(args);  
  50.          ...
  51.  });