最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

jQuery條件分頁 代替離線查詢(附代碼)

 更新時間:2017年08月17日 14:12:38   投稿:sss  
這篇文章主要介紹了jQuery條件分頁代替離線查詢,通過代碼實例讓讀者更深入了解該功能的操作,具體操作步驟大家可查看下文的詳細講解,感興趣的小伙伴們可以參考一下。
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Join;
import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root;

import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;

 @Action("courierAction_pageQuery")
 public String pageQuery() throws Exception {
  Pageable pageable = new PageRequest(page-1, rows);
  final String courierNum = model.getCourierNum();
  final String company = model.getCompany();
  final String type = model.getType();
  final Standard standard = model.getStandard();
  
  //相當于DetchedCriteria對象.通過specification封裝過濾條件
  Specification<Courier> specification = new Specification<Courier>() {
   
   @Override
   public Predicate toPredicate(Root<Courier> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
    //root:根實體 query:排序,封裝條件 CriteriaBuilder:Predicate斷言工廠,產(chǎn)生Predicate對象
    //添加過濾條件:添加快遞員編號條件
    //p1:實體中屬性 p2:條件
    List<Predicate> list = new ArrayList<>();
    if(StringUtils.isNotBlank(courierNum)){
     Predicate p1 = cb.equal(root.get("courierNum").as(String.class), courierNum);
     list.add(p1);
    }
    if(StringUtils.isNotBlank(company)){
     Predicate p2 = cb.equal(root.get("company").as(String.class), company);
     list.add(p2);
    }
    if(StringUtils.isNotBlank(type)){
     Predicate p3 = cb.equal(root.get("type").as(String.class), type);
     list.add(p3);
    }
    //sql : select * from T_COURIER t inner join t_Standard s on t.c_standard_id = s.c_id
//    where s.c_name = '標準一(100公斤)';
    //JPQL: from Courier c inner join c.standard s where s.name = "";
    if(standard!=null && StringUtils.isNotBlank(standard.getName())){
     //返回關(guān)聯(lián)對象
     Join<Object, Object> join = root.join("standard");
     Predicate p4 = cb.equal(join.get("name").as(String.class), standard.getName());
     list.add(p4);
    }
    if(list.size()==0){
     return null;
    }
    //list集合轉(zhuǎn)為數(shù)組
    Predicate[] restrictions = new Predicate[list.size()];
    restrictions = list.toArray(restrictions);
    return cb.and(restrictions);
   }
  };
  Page<Courier> page = courierService.findAll(specification, pageable);
  
  Map<String, Object> map = new HashMap<>();
  map.put("total", page.getTotalElements());
  map.put("rows", page.getContent());
  
  //將fixedares集合屬性排除掉,不轉(zhuǎn)json
  JsonConfig jsonConfig = new JsonConfig();
  jsonConfig.setExcludes(new String[]{"fixedAreas"});
  
  String json = JSONObject.fromObject(map, jsonConfig).toString();
  
  ServletActionContext.getResponse().setContentType("text/json;charset=utf-8");
  ServletActionContext.getResponse().getWriter().write(json);
  return NONE;
 }
Dao:
public interface CourierDao extends JpaRepository<Courier, Integer>, JpaSpecificationExecutor<Courier> {

}

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助~如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持!

相關(guān)文章

  • jquery仿百度經(jīng)驗滑動切換瀏覽效果

    jquery仿百度經(jīng)驗滑動切換瀏覽效果

    本文給大家分享的是使用jQuery實現(xiàn)仿百度經(jīng)驗華東切換瀏覽效果,非常的炫酷,推薦給大家。有需要的小伙伴可以參考下
    2015-04-04
  • 用jquery寫的一個萬年歷(自寫)

    用jquery寫的一個萬年歷(自寫)

    萬年歷,想必大家對它都不陌生吧,下面是使用jquery寫的一個萬年歷示例,喜歡的朋友可以參考下
    2014-01-01
  • Jquery 獲取對象的幾種方式介紹

    Jquery 獲取對象的幾種方式介紹

    本文為大家介紹下Jquery如何獲取對象有哪幾種方式,感興趣的朋友可以參考下
    2014-01-01
  • 基于jquery的返回頂部效果(兼容IE6)

    基于jquery的返回頂部效果(兼容IE6)

    最近在寫一個首頁返回頂部的效果,因為IE6不兼容position:fixed的原因,一直找不到好的解決辦法。在Google了一下,有了點眉目,加上一點自己的開發(fā),總算誤打誤撞的把問題解決了。
    2011-01-01
  • jquery事件與函數(shù)的使用介紹

    jquery事件與函數(shù)的使用介紹

    jquery事件與函數(shù)在使用中很頻繁,在本文為大家介紹下事件綁定及函數(shù)聲明和命名函數(shù)表達式,感興趣的朋友可以參考下
    2013-09-09
  • jQuery.ajax 跨域請求webapi設(shè)置headers的解決方案

    jQuery.ajax 跨域請求webapi設(shè)置headers的解決方案

    需要通過服務(wù)器端設(shè)置響應(yīng)頭、正確響應(yīng)options請求,正確設(shè)置 JavaScript端需要設(shè)置的headers信息方能實現(xiàn),本文介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下
    2016-08-08
  • 原生Aajax 和jQuery Ajax 寫法個人總結(jié)

    原生Aajax 和jQuery Ajax 寫法個人總結(jié)

    AJAX:即“Asynchronous Javascript And XML”(異步JavaScript和XML),是指一種創(chuàng)建交互式網(wǎng)頁應(yīng)用的網(wǎng)頁開發(fā)技術(shù)。本文重點給大家介紹原生Aajax 和jQuery Ajax 個人總結(jié),一起看看吧
    2017-03-03
  • PHP+jQuery+Ajax實現(xiàn)多圖片上傳效果

    PHP+jQuery+Ajax實現(xiàn)多圖片上傳效果

    我們在本文中用到一個Ajax表單提交插件:jqery.form.js,有高人修改了幾行代碼并改名為:jquery.wallform.js,直接拿來用。下面我們就來看看這款神奇的jQuery插件吧。
    2015-03-03
  • 如何用jquery控制表格奇偶行及活動行顏色

    如何用jquery控制表格奇偶行及活動行顏色

    這篇文章主要介紹了如何用jquery控制表格奇偶行及活動行顏色,需要的朋友可以參考下
    2014-04-04
  • 實例詳解jQuery表單驗證插件validate

    實例詳解jQuery表單驗證插件validate

    validate插件是一個基于jquery的表單驗證插件了里面有許多的常用的一些驗證方法我們可以直接調(diào)用,具體的我們一起來看看
    2016-01-01

最新評論

牙克石市| 临沂市| 鄱阳县| 宜兰市| 莱芜市| 屯门区| 吉木乃县| 无锡市| 宜兰市| 东莞市| 桂阳县| 安陆市| 江西省| 大厂| 平泉县| 惠来县| 民勤县| 滨州市| 苗栗市| 北碚区| 获嘉县| 全椒县| 甘孜县| 绥阳县| 南溪县| 上栗县| 塔河县| 鸡泽县| 鹿泉市| 乌拉特中旗| 新巴尔虎左旗| 富民县| 绵阳市| 庄浪县| 开封县| 平陆县| 苗栗县| 淮南市| 延安市| 上思县| 台湾省|