日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

primefaces_懒惰的JSF Primefaces数据表分页–第2部分

發布時間:2023/12/3 javascript 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 primefaces_懒惰的JSF Primefaces数据表分页–第2部分 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

primefaces

頁面代碼非常簡單,沒有復雜性。 檢查“ index.xhtml”代碼: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets"xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:p="http://primefaces.org/ui"> <h:head> </h:head> <h:body><f:view><h:form><p:dataTable id="lazyDataTable" value="#{playerMB.allPlayers}" var="player" paginator="true" rows="10"selection="#{playerMB.player}" selectionMode="single"paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"rowsPerPageTemplate="5,10,15" style="width: 80%;margin-left: 10%;margin-right: 10%;"><p:ajax event="rowSelect" update=":playerDialogForm" oncomplete="playerDetails.show()" /><p:column><f:facet name="header">Name</f:facet><h:outputText value="#{player.name}" /></p:column><p:column><f:facet name="header">Age</f:facet><h:outputText value="#{player.age}" /></p:column></p:dataTable></h:form><p:dialog widgetVar="playerDetails" header="Player" modal="true"><h:form id="playerDialogForm"><h:panelGrid columns="2"><h:outputText value="Id: " /><h:outputText value="#{playerMB.player.id}" /><h:outputText value="Name: " /><h:outputText value="#{playerMB.player.name}" /><h:outputText value="Age: " /><h:outputText value="#{playerMB.player.age}" /></h:panelGrid></h:form></p:dialog></f:view> </h:body> </html>

我們得到了一個惰性數據表,該數據表將在對話框中顯示選定的值。

在我們的Managed Bean中,我們有比頁面更簡單的代碼:

package com.mb;import java.io.Serializable;import javax.faces.bean.ManagedBean; import javax.faces.bean.ViewScoped;import org.primefaces.model.LazyDataModel;import com.model.Player;@ViewScoped @ManagedBean public class PlayerMB implements Serializable {private static final long serialVersionUID = 1L;private LazyDataModel<Player> players = null;private Player player;public LazyDataModel<Player> getAllPlayers() {if (players == null) {players = new PlayerLazyList();}return players;}public Player getPlayer() {if(player == null){player = new Player();}return player;}public void setPlayer(Player player) {this.player = player;} }

我們對播放器實體進行了獲取/設置,對LazyDataModel類型的對象進行了獲取。
在下面檢查PlayerLazyList代碼的實現

package com.mb;import java.util.List; import java.util.Map;import org.primefaces.model.LazyDataModel; import org.primefaces.model.SortOrder;import com.connection.MyTransaction; import com.dao.PlayerDAO; import com.model.Player;public class PlayerLazyList extends LazyDataModel<Player> {private static final long serialVersionUID = 1L;private List<Player> players;private MyTransaction transaction;private PlayerDAO playerDAO;@Overridepublic List<Player> load(int startingAt, int maxPerPage, String sortField, SortOrder sortOrder, Map<String, String> filters) {try {try {transaction = MyTransaction.getNewTransaction();playerDAO = new PlayerDAO(transaction);transaction.begin();// with datatable pagination limitsplayers = playerDAO.findPlayers(startingAt, maxPerPage);// If there is no player created yet, we will create 100!!if (players == null || players.isEmpty()) {playerDAO.create100Players();// we will do the research again to get the created playersplayers = playerDAO.findPlayers(startingAt, maxPerPage);}} finally {transaction.commit();}} catch (Exception e) {e.printStackTrace();}// set the total of playersif(getRowCount() <= 0){setRowCount(playerDAO.countPlayersTotal());}// set the page dizesetPageSize(maxPerPage);return players;}@Overridepublic Object getRowKey(Player player) {return player.getId();}@Overridepublic Player getRowData(String playerId) {Integer id = Integer.valueOf(playerId);for (Player player : players) {if(id.equals(player.getId())){return player;}}return null;} }

關于上面的代碼:

  • 加載方法:每次啟動分頁時,Primefaces都會調用此方法。 它將具有有效值的所有參數; 使用這些參數,您將能夠在數據庫中進行查詢,僅獲取所需的數據。 如果要按字段對查詢排序,則可以使用具有字段datatable值的sortField屬性(如果用戶不進行排序,則為null); sortOrder將指示用戶是否要遞增或遞減。
  • getRowKey方法:此方法向每行返回一個ID,Primefaces將在需要時調用此方法。
  • getRowData方法:將在數據表中返回選定的Player。
  • 第一次運行該應用程序時,它將在數據庫中保留100個播放器。 在實際應用中,這不是必需的。

最后一個配置需要在“ web.xml”文件中添加:

<persistence-context-ref><persistence-context-ref-name>JSFPU</persistence-context-ref-name><persistence-unit-name>JSFPU</persistence-unit-name> </persistence-context-ref>

我們將使用此配置來執行JNDI查找。

運行我們的應用程序

現在我們只需要啟動應用程序。

要訪問該應用程序,您可以使用鏈接:

http:// localhost:8080 / DatatableLazyPrimefaces /

單擊此處下載此帖子的源代碼。

參考: uaiHebert博客上的JCG合作伙伴 Hebert Coelho的懶惰JSF數據表分頁(Primefaces) 。


翻譯自: https://www.javacodegeeks.com/2012/04/lazy-jsf-primefaces-datatable_11.html

primefaces

總結

以上是生活随笔為你收集整理的primefaces_懒惰的JSF Primefaces数据表分页–第2部分的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产日韩中文字幕 | 国内自拍偷拍网 | 一级黄色片免费播放 | 欧美第九页| 天堂av亚洲av国产av电影 | 色多多视频在线观看 | 亚州一区二区 | xvideos成人免费视频 | av网天堂| 色涩视频在线观看 | 久久精品一区二区免费播放 | 成年人免费在线观看网站 | 麻豆精品一区二区 | 国产中文久久 | 亚洲国产成人精品久久久 | 在线视频国产一区 | av黄色网 | 在线免费观看成年人视频 | 强开小受嫩苞第一次免费视频 | 国产调教在线 | 蜜桃视频在线观看污 | 日本久久一区 | 啪啪导航 | 99热一区 | 国产精品久久久久三级 | 女性裸体不遮胸图片 | 亚洲免费视频观看 | 国产中文字幕网 | 国产字幕侵犯亲女 | 日韩午夜免费 | 亚洲综合网在线 | 韩国久久精品 | 日韩一区二区在线免费观看 | 午夜神马影院 | 看av免费毛片手机播放 | 国产日本一区二区 | 男女午夜网站 | 国产亚洲激情 | 日韩激情在线播放 | 亚洲AV无码精品一区二区三区 | 校园伸入裙底揉捏1v1h | 欧美在线视频免费播放 | 国产av一区精品 | 91高清视频在线观看 | 一区二区三区伦理片 | 能在线看的av | 在线视频导航 | 成人午夜免费在线观看 | 一区二区三区在线免费视频 | 亚洲福利影视 | 波多野结衣之潜藏淫欲 | 亚洲免费网 | 无码人妻精品一区二区三区99v | 借种(出轨高h) | 天天射日日干 | 日韩激情av| 中文字幕在线视频一区二区 | 伦理黄色片 | 久久99日韩| 丝袜美腿一区二区三区 | 亚洲一区二区三区加勒比 | 操在线视频| 欧美高h | 97在线影院| 毛片aaaaa| 亚洲日本中文 | 国产免费av观看 | 国产精品日韩欧美一区二区三区 | 丰满双乳秘书被老板狂揉捏 | 欧洲一区二区视频 | 免费看日产一区二区三区 | 伊人影视网 | 蜜臀在线观看 | 国产床上视频 | 亚洲综合网址 | 麻豆视频在线看 | 日韩在线精品强乱中文字幕 | 五月婷婷综合网 | 亚洲天堂少妇 | 男人你懂的网站 | 在线观看日韩一区二区 | 国产成人精品视频在线 | 美女午夜激情 | 欧美一级看片 | 久久久高清免费视频 | 激情无码人妻又粗又大 | 爽好多水快深点欧美视频 | 青青草免费在线视频 | 国产91大片 | 在线观看国产亚洲 | 三级在线看中文字幕完整版 | 国产精品亚洲lv粉色 | 丁香一区二区三区 | 亚洲国产成人精品一区二区三区 | 欧美不卡 | 高清成人 | 精品人妻无码在线 | 亚洲精品色图 | 日韩成人免费视频 |