最近项目需求:查询数据库数据生成list,传给web前台与前台数据校验,前台code是否在list里。
1. 为什么必须返回list而不能用json数组形式,在js中直接解析哪?(日老项目都是这么用的,经理说也要这么用)
2. 设计思路:用户比较大为了减少数据库的交互,采用缓存形式。并在js中调用缓存,遍历list。
1> 在服务器启动时加载servletcontext,查询数据库将list放入context缓存。
2> 在js中直接用jstl标签或者el表达式调用list(List是java集合对象,js内置对象中并没有List对象)
3> 或者通过ajax、dwr框架调用缓存,遍历操作在服务端处理,返回flag结果标识。
3. 在js中调用el表达式的方式:var o= "${requestScope.name}";需要添加双引号。
4. 下面将js中用jstl标签方式遍历list
function test(){
<c:forEach items="${applicationScope.area_config_tbl}" var="dpList">
if(dptCde=="${dpList.selectText}"){
return true;
}
</c:forEach>
}
5. ajax方式与其他ajax方法一样,取得servletcontext.getattribute("name")得到list,在服务端遍历。
本文探讨了前后端数据交互的优化方案,特别是针对大量用户场景下如何减少数据库交互次数,提出了利用缓存技术和多种前端调用方式来提高系统效率的方法。

2936

被折叠的 条评论
为什么被折叠?



