web前端多重筛选、json
来源:互联网 发布:全球数据交换中心 编辑:程序博客网 时间:2024/06/06 07:32
教学云WEB端的实现总结:
目标要求:根据第三方教学云提供的资源,可以在平台后端对教 学云资源筛选、加载查看。
1、初步的形成思想:
通过对教学云资源的获取,可以根据年级、科目以及出版社筛选来查询相应的资源信息。
2、实现过程出现的问题
(1)在最初的根据年级、科目和出版社来筛选时,因为要三个条件一块执行,没有做到通过点击该选项获取到对应的id。
◆在jsp页面:<a href="javascript:void(0)" class="now" GradeId="G04">一年级</a>
当点击哪个链接时,class=“now”就会在哪个链接下,从而确定所选择的id。
◆在加载年级时,根据div层下的ul的id,通过点击事件来获取li标签下的<a>超链接。
具体代码为:
$('#gradeList').on('click','li a',function(){
GradeId =$(this).attr('GradeId');//当点击时,获取当前的GradeId值;
loadSource(GradeId,CourseId,VersionId,ExtensionName);
});
注:GradeId为年级名称的id值。
◆科目、版本同年级一样。
◆在对资源格式进行筛选时,和年级不同的是,资源格式是改变而不是点击,使用的是 change.
(2)因为是从第三方教学云获取资源,所以在取资源的时候要根据第三方来取,通过在js中使用ajax
来获取资源。
◆ Map<String, String> paramMap = ActionUtil.getParameterMap();//获取前端返回的值
◆ HashMap<String,Object> paraMap = new HashMap<String,Object>();//声明一个HashMap
;
◆paraMap.put("JsonInfo", "{} "); //向paraMap中放值;
String returnjson = PostUtil.doPost(SystemConfig.getProperty("JIAOXUEYUN_URL"),paraMap);//根据条件取到资源;
◆ JSONArray jsonArray = JSONArray.fromObject(returnJson);//将json对象转化为json数组。
◆ List<SourceVO> list = new ArrayList<SourceVO>();
for (int i=0;i<jsonArray.size();i++) {
JSONObject jsonObject = (JSONObject) jsonArray.get(i);
SourceVO item = new SourceVO();
item.setSource_data(jsonObject.toString());
item.setSource_type(jsonObject.getString("ExtensionName"));
item.setSource_id(jsonObject.getString("ResourceId"));
item.setSource_name(jsonObject.getString("ResourceName"));
item.setUpdateTime(jsonObject.getString("UpdateTime"));
item.setResourceSize(jsonObject.getString("ResourceSize"));
item.setBrowse_count(jsonObject.getInt("Browse_count"));
item.setPraise_count(jsonObject.getInt("Praise_count"));
item.setDownload_count(jsonObject.getInt("Download_count"));
item.setFav_count(jsonObject.getInt("Fav_count"));
item.setResourceUrl(jsonObject.getString("ResourceUrl"));
list.add(item);
}
//用list来遍历取到的资源数据。
(3)分页查询,在分页查询中根据第三方提供的接口、字段,当IsCount_size为0时,统计记录大小,当IsCount_size为1时,不统计记录大小,因为0和1都要使用,所以在方法使用过程中,我所采用的是重新写了一个方法,是获取总记录数的,可是结果却不尽人意,虽然都可以获取到,但是在使用时,两个方法不能同时存在一个jsp页面中。
后来使用的方法是,在一个方法体中
paraMap.put("JsonInfo", "{} ");
String returnJson = PostUtil.doPost(SystemConfig.getProperty("JIAOXUEYUN_URL"),paraMap);
paraMap.put("JsonInfo", "{} ");
String totalJson = PostUtil.doPost(SystemConfig.getProperty("JIAOXUEYUN_URL"),paraMap);
JSONObject jsonObjectTotal = JSONObject.fromObject(totalJson);
ActionUtil.setTotal(jsonObjectTotal.getInt("Total"));//重点是这句,它是写好的,拿过来直接调用就可以了。可以直接获取到总记录数。
可悲的是我却不会,花了一上午写的还没这一句管用。。。。。
通过这个方法就可以获取到了,并且可以在一起使用。
附:源码
- web前端多重筛选、json
- 前端js 筛选json数据 可用框架 linq.js
- web前端获取JSON解决方案
- WEB前端之JSON使用方法
- MySQL 多重筛选语句
- 【web前端】可筛选[输入搜索]的select
- 【web前端】可筛选[输入搜索]的select(重写)
- ECShop 分类筛选(多重筛选)
- web前端与后台数据交互--Json
- Web前端设计:Ajax+JQuery+Json
- web前端-JavaScript JSON -027
- 前端列表筛选效果
- 多重筛选_and的运用
- COGS 992 宝物筛选 裸多重背包
- Js解析多重Json
- 多重json字符串解析
- 解析多重嵌套json
- 【web前端攻城狮】string转换成json对象
- Android中Dex分包实践
- 贪心_4
- CXF发布中java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log问题
- Linux中TCP黏包问题及其解决方案
- vs2015编译CEF
- web前端多重筛选、json
- HDOJ 1848 Fibonacci again and again
- 合并 XML 文件
- Linux使用Atomicorp的YUM源时提示key ID 4520afa9: NOKEY
- ZZULIOJ /郑轻oj 1905: 小火山的跳子游戏(GCD,思维)
- 百宝云发布按键与TC作者专用的注册码系统升级版
- asp.net MVC 应用程序的生命周期
- 给定N张扑克牌和一个随机函数,设计一个洗牌算法
- CentOs 7怎么联网