亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

web中拖拽排序和java后臺交互實現方法示例

 更新時間:2018年12月04日 09:17:11   作者:MXC肖某某  
這篇文章主要給大家介紹了關于web中拖拽排序和java后臺交互實現的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

一、業(yè)務需求

1,在后臺的管理界面通過排序功能直接進入排序界面

2,在排序界面能夠人工的手動拖動需要排序的標題,完成對應的排序之后提交

3,在app或者是前端就有對應的排序實現了

本文將詳細介紹web拖拽排序和java后臺交互的相關內容,下面話不多說了,來一起看看詳細的介紹吧

二、頁面展示

將整體頁面效果展示出來之后如圖所示(頁面點擊確定之后的效果是與java后臺進行交互的):

三、設計思路:

后臺:如果需要將排序的結果保存到數據庫,那么必須要修改數據庫中對應的起碼一個字段(排序的序號sort),那么后臺需要至少接收的參數有sort和id兩個字段。我這邊采用的是將這兩個字段封裝到對象,并且采用集合的方式傳遞給后臺,因為對應的修改必須是針對數據庫中需要排序的所有數據的操作。當然可以根據不同的業(yè)務實施不同的排序方式

前端:a,實現拖拽功能;b,需要能夠提供實時的序列號sort和該序列號指定的id

四、前端設計:

1,下載插件:只需點擊超鏈接,下載drag.zip并解壓,就會自動轉為drag.js文件,引用即可

2,代碼實現:

 A>頁面中代碼:

<!--起始的頁面-->
 <div class="listMain">
  <div class="addData">
  <ul class="dataList" id="dataList${var.ID }">
  <c:forEach items="${varList }" var="movieParam" varStatus="varSatus"> 
  <li class="dataList_Child">
   <input type="hidden" class="idSort" value="${movieParam.id }" /> <!--id值-->
   <p class="datali_name">${movieParam.NAME }</p> <!--頁面中的9999,888,555,333的值-->
   <input type="hidden" class="seqSort" /> <!--存放sort序號值的地方-->
                   </li>
  </c:forEach>
  </ul>
  <input type="button" name="" value="新&nbsp;&nbsp;增" class="Add_listButton" onclick="addList()">
  <input type="button" name="" value="排&nbsp;&nbsp;序" class="M_sort" onclick="getSortList()" >
  </div> 
        </div>
<!--排序頁面-->
        <div class="M_sortMain">
          <form action="movieparam/editSort.do" method="post">
    <div class="M_sortMain_wrap">
    <span class="close_M_sortMain"></span>
   <div class="sortOul">
   <ul class="sortOulMain"></ul>
   </div>
    </div>
    <input type="submit" value="提交" class="sort_submit">
          </form>
        </div>

 B>點擊排序的時候觸發(fā)事件(需要能獲取到當前的序號和id值):

//點擊排序:1,將當前頁面裝到指定的div;2,給對應的兩個隱藏的input框添加name屬性,便于后臺接收;3,為sort的隱藏的input賦予sort序號值
      function getSortList(){
        $(".M_sortMain").css("display","block"); //遮罩頁面顯示
  $(".sortOulMain").html($(".listMain").html()); //將當前頁面裝到指定的div
  $("li").each(function(){
   var seq_attr = 'movieParams['+$(this).index()+'].sort';
   var id_attr = 'movieParams['+$(this).index()+'].id';
   $(this).children(".seqSort").attr('name',seq_attr); //為序號框添加name屬性
   $(this).children(".seqSort").val($(this).index()) //為sort的隱藏的input賦予sort序號值
   $(this).children(".idSort").attr('name',id_attr); //為id框添加name屬性
  })
       }

 C>拖拽效果的實現,引用了提供的drag.js

// 排序事件中的拖拽事件
  $('.sortOulMain').DDSort({
  target: 'li',
  floatStyle: {
   'border': '1px solid #ccc',
   'background-color': '#fff',
   'cursor': 'move'
  },
  //每次拖拽完成之后都會執(zhí)行的函數
  up: function () {
  $("li").each(function(){
   $(this).children(".seqSort").val($(this).index()); //改變全新的sort隱藏的input的序號值
   })
  }
      });

五、后臺設計: 

后臺采用的就是比較傳統的SSM框架了,主要就是對接收的參數的處理:

  A>SpringMVC中只需要注意對于參數的接收必須按照指定的name對應即可(這里list集合中參數的封裝就不再強調了): 

  @RequestMapping("editSeq")
  public ModelAndView editSeq(MovieParamListForm movieParamList)throws Exception{  
    //判空操作這里省略了
    movieParamService.editSeq(movieParamList.getMovieParams());
  }

  B>Service層的處理省略了,主要是對movieParam中的id和sort兩個字段的操作,直接跳到Mybatis:

<update id="editSeq" parameterType="java.util.List"> 
 <foreach collection="list" item="var" index="index" open="" close="" separator=";"> 
  update t_params 
  <set> 
    sort= #{var.sort}
  </set> 
  where id= #{var.id} 
 </foreach> 
  </update>

  C>如果這時候發(fā)現自己的SQL寫的沒有問題但是在執(zhí)行的時候控制臺還是報錯了的話,那么必須要在連接數據庫的時候加上這樣一段代碼就行了:allowMultiQueries=true 這個是在操作數據庫批量修改時數據庫的一個問題

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關文章

  • Java帶default方法接口的應用示例

    Java帶default方法接口的應用示例

    這篇文章主要介紹了Java帶default方法接口的應用,結合實例形式分析了java帶default方法接口定義、用法及相關操作注意事項,需要的朋友可以參考下
    2019-08-08
  • Spring?Boot?整合?Reactor實例詳解

    Spring?Boot?整合?Reactor實例詳解

    這篇文章主要為大家介紹了Spring?Boot?整合?Reactor實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • IDEA版使用Java操作Redis數據庫的方法

    IDEA版使用Java操作Redis數據庫的方法

    這篇文章主要介紹了IDEA版使用Java操作Redis數據庫的方法,首先需要下載jedis.jar包,然后再工程中設置具體操作步驟跟隨小編一起學習下吧
    2021-08-08
  • 數據庫阿里連接池 druid配置詳解

    數據庫阿里連接池 druid配置詳解

    本篇文章主要介紹了數據庫阿里連接池 druid配置詳解,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • struts2實現文件下載功能

    struts2實現文件下載功能

    這篇文章主要為大家詳細介紹了struts2實現文件下載功能,一個非常常見的功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • JVM 方法調用之動態(tài)分派(詳解)

    JVM 方法調用之動態(tài)分派(詳解)

    下面小編就為大家?guī)硪黄狫VM 方法調用之動態(tài)分派(詳解)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • springcloud之Feign、ribbon如何設置超時時間和重試機制

    springcloud之Feign、ribbon如何設置超時時間和重試機制

    這篇文章主要介紹了springcloud之Feign、ribbon如何設置超時時間和重試機制,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • 使用AOP攔截Controller獲取@PathVariable注解傳入的參數

    使用AOP攔截Controller獲取@PathVariable注解傳入的參數

    這篇文章主要介紹了使用AOP攔截Controller獲取@PathVariable注解傳入的參數,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • springboot簡單實現單點登錄的示例代碼

    springboot簡單實現單點登錄的示例代碼

    本文主要介紹了springboot簡單實現單點登錄的示例代碼,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 工廠方法模式_動力節(jié)點Java學院整理

    工廠方法模式_動力節(jié)點Java學院整理

    這篇文章主要介紹了工廠方法模式_動力節(jié)點Java學院整理的相關資料,需要的朋友可以參考下
    2017-08-08

最新評論