java combobox 数据库_easyui combobox获取后台数据库数据的方式介绍

本文介绍了如何使用EasyUI的ComboBox控件从后台数据库获取并显示行政区划数据。详细讲解了通过$.get(), $.getJSON(), $.ajax()四种方法加载数据,并提供了后台Controller, Service, Dao的实现代码。在实际操作中,发现ComboBox加载远程数据时,只有以JSON格式返回数据才能正常显示,对于其他方式加载list类型数据成功的原因留待进一步探讨。" 128685643,16209857,Linux内核解析:定时器、内核线程与系统调用,"['Linux内核', '操作系统']
摘要由CSDN通过智能技术生成

今天中午利用午休时间,学习了一下easyui combobox控件的的使用,可以参见下面的连接查看与combobox 相关的资料

easyui combobox详细介绍

(一)、功能需求(如下图所示):获取行政区划显示在下拉列表中

7a75855c66392a073f35f5958681a441.png

(二)、前台实现conbomox.jsp

2.1、引入easyui相关文件到项目,在这里不多做介绍了,童鞋们可以自己度一下

2.2、简单设置combobox的外形,combobox控件的id="admiDivisionCode"

代码如下:

2.3、初始化combobox:将从数据库获取的行政区划加载到combobox控件的下拉列表中

下面介绍四种方法加载数据库数据到combobox

2.3.1、方法1:调用$.get()获取数据

$(document).ready(function(){

queryXzqh();

})

function queryXzqh(){

$.get("${base}/combobox/queryXzqh.action",function(data){//后台请求

var options=$("#admiDivisionCode").combobox('options');

options.textField="NAME";

options.valueField="CODE";

//加载数据

$("#admiDivisionCode").combobox("loadData",data.data);

,"json");

}

2.3.2、方法2:调用$.getJSON()

获取数据

2.3.3、方法3:调用

$.ajax({})

获取数据

 
 

(三)、后台实现

3.1、ComboboxController.java

@Controller

@RequestMapping(value="combobox")

public class ComboboxController {

@Autowired

private ComboboxServiceImpl comboboxServiceImpl;

// @描述:获取行政区划(适用于前台三种方法的调用)

@RequestMapping(value = "queryXzqh")

@ResponseBody

public ResultVO>> queryXzqh(){

ResultVO>> resultVO = new ResultVO>>();

try{

List> list =comboboxServiceImpl.queryXzqh();

resultVO.setData(list);

resultVO.setResult(ResultConstant.RESULT_SUCCESS);

resultVO.setMessage(ResultConstant.MESSAGE_SUCCESS);

}catch(Exception e){

e.printStackTrace();

resultVO.setResult(ResultConstant.RESULT_FAIL);

resultVO.setMessage(ResultConstant.MESSAGE_FAIL);

}

return resultVO;

}

//描述:获取行政区划(适用于方法四的前台调用)

/*

@RequestMapping(value="/queryXzqh.action")

@ResponseBody

public JSONArray queryXzqh(){

net.sf.json.JSONArray jsonArray=new JSONArray() ;

List> list= new ArrayList>();

try{

//获取数据库的数据

list=comboboxServiceImpl.queryXzqh();

//将获取的list转化为json格式

jsonArray = net.sf.json.JSONArray.fromObject(list);

}catch(Exception e){

e.printStackTrace();

}

return jsonArray;

}*/

}

3.2、service层ComboboxServiceImpl.java

@Service

public class ComboboxServiceImpl {

@Autowired

private ComboboxDaoImpl comboboxDaoImpl;

public List> queryXzqh(){

//调用底层dao数据

return comboboxDaoImpl.queryXzqh();

}

}

3.4、dao层

ComboboxdaoImpl.java

@Repository

public class ComboboxDaoImpl extends BaseHibernateDao {

public List> queryXzqh(){

String sql = "select d.code,d.name from cendic.d_dictionary_item d left join cendic.d_dictionary_item d1 on d.parent_id=d1.id "

+ "where (d1.code='510100' and d1.id=d.parent_id) or d.code='510100' order by d.code";

//创建查询对象

Query query=this.createSQLQuery(sql, null, null, null);

//获取List

List> list=query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).list();

if(list.size()>0){

return list;

}else{

return null;

}

}

}

(四)、总结

1、combobox加载远程数据的用第四种方式接收数据的时候遇到的一个问题是:前台能够获取到后台传来的数据,但是当combobox就是加载不出来数据,当时郁闷死了,怎么都找不出问题,然后就想会不会是返回的数据格式问题

combobox必须加载json格式才能显示,那我把返回的list数据转化为json格式之后在传到前台,然后居然就真的加载出来了,但是

还是很很多疑问,比如为什么返回list类型数据用$.get()、$.ajax()、$.getJSON()都没有转化为json格式也可以加载成功,到底是为什么呢??????

返回的list数据格式在Debug下如下图:这不是json格式的数据

06796878ee823b5179c595bef240bd52.png

疑问还有待解决?????????

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值