一个完整(详细注释分析)的整合hibernate与struts连接数据库的易做图联动
1.主要实现功能效果图如下:2.项目案例分析
由于地方有限,这里只列出核心代码,js的编写源码和struts的源码;更多源码,以及数据库见本人资源,0分上传,免费供大家参考学习:tianyazaiheruan
尊重别人的劳动成果与知识产权,转载请指明出处:杨凯专属频道
该项目为一个整合hibernate与struts,利用json对象存放临时数据库数据,连接数据的易做图联动;改项目使用ajax传递请求连接和参数;数据库结果为三表级联,三表之间依次都是多对一的关系;其中代码核心代码都附有详细的注释,供大家研讨学习;
其中包括:Select.js:主要实现功能的js;Util.js:工具js,封装一些ajax的请求方法以及创建ajax的方法还有模拟jQuery的根据id获取dom对象;Struts.xml:主要亮点在配置一个多变级联时防止加载多个表的操作,从而达到解决多表级联操作的时候经常出现的session已关闭的bug
3.核心代码
[javascript]
Select.js:主要实现功能的js
window.onload = function() {
// 创建省份的节点对象
var provinceDom = $("province");
// 创建市的节点对象
var cityDom = $("city");
// 创建城镇的节点对象
var countryDom = $("country");
// 实现省的操作
// 发送ajax请求
var url = "./csdn/ProvinceAction_select.action?time="
+ new Date().getTime();
sendGet(content, url, getProvinceSuccess, getProvinceFail);
function getProvinceSuccess(xhr) {
// 获取省份的json对象
var provinceObj = eval("(" + xhr.responseText + ")");
// 获取存放在json对象中的省份数组
var jsonprovinces = provinceObj.provinces;
// 遍历省份数组
for ( var i = 0; i < jsonprovinces.length; i++) {
// 得到具体的省
var jsonProvince = jsonprovinces[i];
// 创建显示省的option
var provinceOption = document.createElement("option");
// 设置option标签中具体省的value值
provinceOption.setAttribute("value", jsonProvince.pid);
// 设置option标签中具体省的文本,并追加option中
provinceOption.appendChild(document
.createTextNode(jsonProvince.pname));
// 将省的option追加到省的select
provinceDom.appendChild(provinceOption);
}
}
function getProvinceFail() {
alert("获取省份失败!");
}
// 实现市的操作
provinceDom.onchange = function() {
// 获取发生改变事件的省的id
var pid = this.value;
// 判断是否需要查询的操作
if (pid != -1) {
// 发送ajax请求
var url = "./csdn/CityAction_select.action?time="
+ new Date().getTime();
var content = "pid=" + pid;
sendPost(content, url, getCitySuccess, getCityFail);
}
};
function getCitySuccess(xhr) {
// 清空数据;清空市
cityDom.length = 1;
// 得到城市的json对象
var cityObj = eval("(" + xhr.responseText + ")");
// 由城市的json对象获取城市的数组
var jsonCities = cityObj.cities;
for ( var i = 0; i < jsonCities.length; i++) {
// 得到一个具体的市对象
var jsonCity = jsonCities[i];
var cityOption = document.createElement("option");
// 设置省的value值
cityOption.setAttribute("value", jsonCity.cid);
// 设置省的文本,并追加option中
cityOption.appendChild(document.createTextNode(jsonCity.cname));
cityDom.appendChild(cityOption);
}
}
function getCityFail(xhr) {
}
// 实现城镇的操作
cityDom.onchange = function() {
va
补充:web前端 , JavaScript ,
上一个:dtree动态添加节点
下一个:jQuery的小实验
- 更多JAVA疑问解答:
- java怎么在线读取ftp服务器上的文件内容
- 关于程序员的职业规划
- HTML和JSP矛盾吗?
- java小程序如何打包?
- java怎么split路径文件名?
- jsp+javaBean中Column 'ordersPrice' specified twice的错误
- Java TCP/IP Socket网络编程系列
- 大家来讨论一下我到底该用什么好?Swing 还是 JavaFX
- 关于Hibernate实体自身多对一的抓取问题
- 关于apache2+tomcat群集出现的问题
- spring 获取上下文问题
- SSH 导入导出excel 谁有这块的资料吗?
- Ext TreePanel 刷新问题
- springmvc 加载一个jsp页面执行多个方法 报404
- checkbox数组action怎么向页面传值