@RequestMapping(
      value = "/console/app/(*:appId)/(~:version)/datalist/builderSave/(*:id)",
      method = RequestMethod.POST)
  public void save(
      Writer writer,
      @RequestParam("appId") String appId,
      @RequestParam(value = "version", required = false) String version,
      @RequestParam("id") String id,
      @RequestParam("json") String json)
      throws Exception {
    AppDefinition appDef = appService.getAppDefinition(appId, version);
    DatalistDefinition datalist = datalistDefinitionDao.loadById(id, appDef);
    DataList dlist = dataListService.fromJson(json);
    datalist.setName(dlist.getName());
    datalist.setDescription(dlist.getName());
    datalist.setJson(PropertyUtil.propertiesJsonStoreProcessing(datalist.getJson(), json));

    boolean success = datalistDefinitionDao.update(datalist);
    JSONObject jsonObject = new JSONObject();
    jsonObject.accumulate("success", success);
    jsonObject.write(writer);
  }