JeePlus--Mybatis返回map数据转换成json

来源:互联网 发布:固定音高训练 软件 编辑:程序博客网 时间:2024/05/18 01:49
Mybatis:
<select id="cb" resultType="java.util.HashMap">
    SELECT VALUE,LABEL
    FROM SYS_DICT
    WHERE type=#{parm}
</select>

Dao:
public List<Map<String, String>> cb(@Param(value="parm")String parm);

Service:
public  List<Map<String, String>> cb(String parm){
    return super.dao.cb(parm);
}

Controller:
@ResponseBody
@RequestMapping(value = "cb")
public String cb(String parm) {
   List<Map<String, String>> regionMap = vTNMService.cb(parm);
   String jsonReasult = "[";
   String jsonReasult1 = null, jsonReasult2 = null;
   boolean isAdd = false;
   for (Map<String, String> map : regionMap) {
      for (Map.Entry<String, String> entry : map.entrySet()) {
         if ("VALUE".equals(entry.getKey())) {
            jsonReasult1 = "{\"id\":\"" + entry.getValue() + "\",";
         } else if ("LABEL".equals(entry.getKey())) {
            jsonReasult2 = "\"text\":\"" + entry.getValue() + "\"},";
         }
         if (isAdd) {
            jsonReasult += jsonReasult1 + jsonReasult2;
            isAdd = false;
         } else {
            isAdd = true;
         }
      }
   }
   jsonReasult = jsonReasult.substring(0, jsonReasult.length() - 1);
   jsonReasult += "]";
   return jsonReasult;
}

Jsp:
    editor: {
              type: 'combobox',
              options: {
                         url: '${ctx}/attdef/sqe/cb',
                          multiple: false,
                          valueField: 'id',
                          textField: 'text'
                       }
           }