SSH   发布时间:2019-10-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Java框架SSH结合Easyui控件实现省市县三级联动示例解析大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

Easyui调用数据库实现省市县区三级联动的效果如果下

Java框架SSH结合Easyui控件实现省市县三级联动示例解析

Java框架SSH结合Easyui控件实现省市县三级联动示例解析

Java框架SSH结合Easyui控件实现省市县三级联动示例解析

1、首先要设计数据库,如图所示。

一个有4个字段code,note,pycode。code:行政区划代码,note:中文注释,pycode:拼音缩写。 其中code是由6个字段组成。如果是省级最后4位是0000,如果是地级市最后2位是00,其他是县区。

我已经把相关数据库代码上传到我的csdn资源中,需要的同学自行下载。

Java框架SSH结合Easyui控件实现省市县三级联动示例解析

2、我用的是java、SSH框架结合Easyui控件

3、html代码如下

4、对应的JS代码如下

{

// 下拉框选择控件,下拉框的内容是动态查询数据库信息
$('#province').combobox({
url:'apply/provinceCombobox_combobox.action',editable:false,//不可编辑状态
cache: false,// panelHeight: 'auto',//自动高度适合
valueField:'code',textField:'note',onHidePanel: function(){

$("#city").combobox("SETVALue",'');
$("#county").combobox("SETVALue",'');
$("#cregicounty").val('');
var province = $('#province').combobox('getValue');
if(province!=''){
$.ajax({
type: "POST",url: "apply/cityCombobox_combobox.action?province="+province,cache: false,dataType : "json",success: function(data){
$("#city").combobox("loadData",data);
}
});
}
}
});

$('#city').combobox({

editable:false,//不可编辑状态
cache: false,//panelHeight: 'auto',//自动高度适合
valueField:'code',onHidePanel: function(){
$("#cregicounty").val('');
$("#county").combobox("SETVALue",'');
var city = $('#city').combobox('getValue');
if(city!=''){
$.ajax({
type: "POST",url: "apply/countyCombobox_combobox.action?city="+city,success: function(data){
$("#county").combobox("loadData",data);
}
});
}
}
});
$('#county').combobox({
editable:false,onHidePanel: function(){
var str=$('#county').combobox('getText');
$("#cregicounty").val(str);
}
});

$('#country').combobox({//国家代码初始化
valueField:'english',url:'json/country.json',//自动高度适合
onChange: function(newValue,oldvalue){

countrySearch(newvalue);
countrys(newvalue);
}
});
});

5、Java的Action代码

String provinceCombobox() throws Exception{

List list=comboboxservice.findprovince();
this.jsonUtil(list);
return null;
}

//查询全国行政区代码市
public String cityCombobox() throws Exception{

List list=comboboxservice.findCity(province);
this.jsonUtil(list);
return null;
}

//查询全国行政区代码县区
public String countyCombobox() throws Exception{

List list=comboboxservice.findcounty(city);
this.jsonUtil(list);
return null;
}

//调用json工具方法,传入参数alist
public void jsonUtil(Object accountlist) throws Exception{
httpServletResponse response = ServletActionContext.getResponse();
log.info("JSON格式:" + accountlist.toString());

String returnJson = JsonConvert.returnJson(accountlist);
response.setCharacterEncoding("utf-8");
response.getWriter().println(returnJson);
}

6、工具JSON代码

StringWriter;

import org.codehaus.jackson.map.objectMapper;

public class JsonConvert {
static String jsonStr;
public static String returnJson(Object object) throws Exception{
ObjectMapper objectMapper = new ObjectMapper();
StringWriter StringWriter = new StringWriter();
objectMapper.writeValue(StringWriter,object);

jsonStr = StringWriter.toString();
return jsonStr;
}
}

7、对应接口代码

province() throws Exception; //查询市 public List findCity(String codE) throws Exception; //查询县区 public List findcounty(String codE) throws Exception;

8、对应接口实现类代码

province() { log.info("===下拉框--查询省");

Criteria criteria=this.sessionFactory.getCurrentSession().createCriteria(CareacodeTblQg.class);
criteria.add(ReStrictions.like("code","%0000"));
criteria.addOrder(Order.asc("code"));

return criteria.list();
}

//下拉框--查询市
public List findCity(String code2) {
log.info("===下拉框--查询市");
String id=code2.subString(0,2);

Criteria criteria=this.sessionFactory.getCurrentSession().createCriteria(CareacodeTblQg.class);
criteria.add(ReStrictions.like("code",id+"%00"));
criteria.add(ReStrictions.ne("code",code2 ));
criteria.addOrder(Order.asc("code"));

return criteria.list();
}

//下拉框--查询县区
public List findcounty(String code3) {
log.info("===下拉框--查询县区");

String id=code3.subString(0,4);
Criteria criteria=this.sessionFactory.getCurrentSession().createCriteria(CareacodeTblQg.class);

criteria.add(ReStrictions.like("code",id+"%"));
criteria.add(ReStrictions.not(ReStrictions.like("code","%01")));
criteria.add(ReStrictions.ne("code",code3 ));
criteria.addOrder(Order.asc("code"));

return criteria.list();
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持菜鸟教程。

大佬总结

以上是大佬教程为你收集整理的Java框架SSH结合Easyui控件实现省市县三级联动示例解析全部内容,希望文章能够帮你解决Java框架SSH结合Easyui控件实现省市县三级联动示例解析所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:Easyui联动