日期:2014-05-17  浏览次数:20818 次

下拉框内容填充方法讨论
WEB开发时,通常会有一些页面,下拉框中需要填充内容,供用户选择。
而这些内容需要从后台数据库中查询取得。
以java web开发为例,有下面几种方法实现,大家来讨论一下,哪种方法好些,或者有没有更好的建议。
1.先将页面转向servlet,查询到内容后放到request中,再转到页面,页面再将request中的内容取出填充。
2.自定义标签,考虑到通用性,可以让标签支持sql语句,根据前台拼出的sql语句,后来查询,这样可以不用为每个填充需求都做一个标签。
3.ajax方式

------解决方案--------------------
struts2的标签select标签就很好用,
------解决方案--------------------
俺一直也用的第一种方式 感觉struts2的标签支持的都挺方便
------解决方案--------------------
不推荐第二种方式,复用性不强,业务逻辑混乱。而且struts2已经有了select标签,不用自己再定义了。
使用第一种方式结合select标签其实也不麻烦,后台的实现可以规划一下。比如所有的这种需求都转向一个统一的
action,这个action再根据不同的需求有多个子类去实现。这样就不会显示很零乱。
不过无论第一种方式还是第三种方式,建议不要把实现内容直接写在action或,ajax调用方法中。让各部分的实现分布在
service中,action, ajax只做控制作用,否则造成职责混乱。
------解决方案--------------------
一直使用第一种了
------解决方案--------------------
第一种方法+缓存池,不经常变的内容不要频繁读取数据库。
------解决方案--------------------
这个我给你一个合理的解决方案:
首先确定列表中的内容是不是不变的,再者就是内容的量有多大

1,小量不变的列表:加载页面时同步加载,存储方式可以选择POOL技术或者枚举(建议用后者,方便维护)
2,小量与业务相关的不确定内容:使用ajax或者同步加载都可以,但如果数据获取方面耗时较多同步加载
会降低用户体验,这时可以使用ajax,但内容肯定都是来自数据库了
3,大量内容,不管是不变还是业务相关,都建议使用分页技术,当然可以使用弹出窗口选择,或者ajax
浮动窗口,但是分页技术是必须的,至少上万条的内容的话IE很容易死掉的
------解决方案--------------------
学习了