100分求助于高手关于获取三级机构的问题 解决问题马上结帖

luoyingbao 2007-03-15 02:28:50
我现在开发的项目涉及到三级机构,情况如下:

先是系列下拉列表,选择系列下拉列表,对应的显示系列下的二级机构,选择二级机构,显示二级机构下的三级机构。由于三级机构非常多,所以要是每次访问数据库,会非常慢,所以我想把三级机构信息保存在页面上,请问有谁做过这样的,指点一下。

能解决问题马上结帖。
...全文
288 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
luoyingbao 2007-03-15
  • 打赏
  • 举报
回复
wuhuawu09-> ^_^,action怎么保存结果集啊?
luoyingbao 2007-03-15
  • 打赏
  • 举报
回复
rickhunterchen,谢谢你
iiitom 2007-03-15
  • 打赏
  • 举报
回复
长期使用来讲,觉得用js来做好过用AJAX的方式,从用户体验上来讲更是。

速度的问题,AJAX方式有太大延迟。
ftiger 2007-03-15
  • 打赏
  • 举报
回复
我现在的方法是把获取的数据放到js文件中,这样就不用再去读数据库了。

这样是可以的,我以前用ASP做过一个类式的。
rickhunterchen 2007-03-15
  • 打赏
  • 举报
回复
Lz所说,是不是读一次数据库,将所有数据读出,然后页面有三级联动的选择框。

可以看看这个例子:
javascript实现二级联动下拉框
http://www.blogjava.net/rickhunter/articles/64607.html

自己扩充以下就可以了。
wuhuawu09 2007-03-15
  • 打赏
  • 举报
回复
不算是保存在布面上了吧,,是在相应的action中以结果集保存啊。。默认列出一级。。。如果它改变时,得到集合。。第一次加载页面时读取数据库里的。其实我也不太清楚。。感觉不是比较快。。。
luoyingbao 2007-03-15
  • 打赏
  • 举报
回复
你也是讲数据封装到js文件,利用ie的临时文件夹来缓存?
wuhuawu09 2007-03-15
  • 打赏
  • 举报
回复
getExplainList 这也是一个集合,在servlet或action中得到的结果集。。。一直保存着啊。。每次下拉选择时,就可以改下级下拉列表了。
luoyingbao 2007-03-15
  • 打赏
  • 举报
回复
wuhuawu09,你的意思我不是很理解

呵呵
wuhuawu09 2007-03-15
  • 打赏
  • 举报
回复
<SCRIPT language="javaScript">
function getExplainList() {
var f = document.spExplainForm;
f.submit();
}
</SCRIPT>
getExplainList 后。。可以在后台控制得到下一个下拉列表啊。。。而且选择这个就提交自动选择下一个的。。。
lip009 2007-03-15
  • 打赏
  • 举报
回复
AJAX是最好的选择
按LZ的做法,第一次加载会相当慢,而且大量的浪费了资源
luoyingbao 2007-03-15
  • 打赏
  • 举报
回复
谢谢大家啊

我现在的方法是把获取的数据放到js文件中,这样就不用再去读数据库了。

有没有这样做过的呢?
hornbilltofy 2007-03-15
  • 打赏
  • 举报
回复
为什么不考虑使用Ajax技术或JSF来实现,可要简单多了,同时服务器的负担也不重.
windstear1 2007-03-15
  • 打赏
  • 举报
回复
写联动还是喜欢XMLHttpRequest来用,呵呵,方便又实惠
wuhuawu09 2007-03-15
  • 打赏
  • 举报
回复
我写过二级下拉列表的。。。用js就可以了。。struts中action中得到数据库中的各级的值,保存在集合中。。。。。
lip009 2007-03-15
  • 打赏
  • 举报
回复
又是下拉联动
这里有4种下拉联动的实现思路以及其中两种的代码,可以参考下
http://blog.csdn.net/lip009/archive/2006/09/11/1208343.aspx
bluexe 2007-03-15
  • 打赏
  • 举报
回复
function getCity(){
var provinceValue=document.forms[0].province.value;
switch(provinceValue){
case"1":
document.forms[0].city[0]=new Option("武汉","1");
document.forms[0].city[1]=new Option("宜昌","2");
break;
case "2":
document.forms[0].city[0]=new Option("长沙","3");
document.forms[0].city[1]=new Option("常德","4");
break;
}
}

function getSchool(){
var cityValue=document.forms[0].city.value;
switch(cityValue){
case"1":
document.forms[0].school[0]=new Option("武汉大学","5");
document.forms[0].school[1]=new Option("华中科技大学","6");
break;
case "2":
document.forms[0].school[0]=new Option("三峡大学","7");
document.forms[0].school[1]=new Option("宜昌广播电视大学","8");
break;
case"3":
document.forms[0].school[0]=new Option("长沙大学","9");
document.forms[0].school[1]=new Option("长沙国防科技大学","10");
break;
case "4":
document.forms[0].school[0]=new Option("常德大学","11");
document.forms[0].school[1]=new Option("常德广播电视大学","12");
break;
}
}

需要多少自己可以加,可以把js和html文件分开保存,这样看起来好些
yeah920 2007-03-15
  • 打赏
  • 举报
回复
缓存

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧