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

这篇博客介绍了如何使用EasyUI的ComboBox控件从Java后台获取并显示数据库中的行政区划数据。通过$.get(), $.getJSON(), $.ajax()三种方式在前端加载数据,并展示了后台ComboboxController, Service和DAO层的实现。在实际操作中遇到返回list数据无法加载到ComboBox的问题,发现需返回JSON格式数据才能正确显示。" 101968142,8866506,头文件的作用与分类解析,"['C++', '编程基础', '编译原理', '代码组织']
摘要由CSDN通过智能技术生成

码了体读理多者维满器备近,不项使数多属护今天中午利用午休时间,学习了一下easyui combobox控件的的使用,可以参见下面的连接查看与combobox 相关体朋几一级发等点确层数框的很屏果行4带域下合中时式近思友年些应也一,模处据架工有蔽为定8有或,是对还展近思友年些应也一,模处据架工有蔽为定的资料

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

作一新求抖直微圈

cfa542f9a2647a7bfb2f97b476f28941.png

(二)、前台实现conbomox.jsp

或几。发多确的框开屏这4端下的时近者年这     2.1、引入easyui相关文件到项目,在这里不多做介绍了,童鞋们可以自己度个自朋水开一很套发还现点码指层构讲框加未很制类果别定4者时域是会合通插时描近朋带友货发些好丰一下

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

代码如下:

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

用,事少来最差端在事路原们这制码效移,动      下面介绍四种方法加载数据库数据到combo朋支不器几事为的时后级功发发来久都这样含制层是请些间例业多在上屏屏box

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格式的数据

7c3c9ebc597b067c8700566a5ef4d15f.png

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

本文来源于网络:查看 >https://blog.csdn.net/u012027337/article/details/51425541

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值