web前端多重篩選、json

教學雲WEB端的實現總結:

 

 目標要求:根據第三方教學雲提供的資源,可以在平臺後端對教 學雲資源篩選、加載查看。

 

1、初步的形成思想:

    通過對教學雲資源的獲取,可以根據年級、科目以及出版社篩選來查詢相應的資源信息。

 

2、實現過程出現的問題

   (1)在最初的根據年級、科目和出版社來篩選時,因爲要三個條件一塊執行,沒有做到通過點擊該選項獲取到對應的id

 

      ◆在jsp頁面:<a href="javascript:void(0)" class="now" GradeId="G04">一年級</a>

        當點擊哪個鏈接時,class=now”就會在哪個鏈接下,從而確定所選擇的id

 

      ◆在加載年級時,根據div層下的ulid,通過點擊事件來獲取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_size0時,統計記錄大小,當IsCount_size1時,不統計記錄大小,因爲01都要使用,所以在方法使用過程中,我所採用的是重新寫了一個方法,是獲取總記錄數的,可是結果卻不盡人意,雖然都可以獲取到,但是在使用時,兩個方法不能同時存在一個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"));//重點是這句,它是寫好的,拿過來直接調用就可以了。可以直接獲取到總記錄數。

可悲的是我卻不會,花了一上午寫的還沒這一句管用。。。。。

     通過這個方法就可以獲取到了,並且可以在一起使用。

 

附:源碼

          

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章