日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
JSF表格組件的制作思路(含源代碼)

周二,我興匆匆去老劉那演示RichFaces的Table控件,可老劉說(shuō)了,RichFaces太復(fù)雜,不適合我們,且還有不少的bug(這些我無(wú)法考證:)。于是他拿出一個(gè)使用了一堆JSP+Servelet+Bean寫(xiě)的一個(gè)表格,跟說(shuō)我,我很懷疑JSF能做出這個(gè)東西來(lái),你使用純JSF做一個(gè)一樣的表格組件我就相信JSF能夠用在開(kāi)發(fā)平臺(tái)(注:我是此Eclipse開(kāi)發(fā)平臺(tái)的兼職架構(gòu)師)上。我心里琢磨,既然你是用JSP/Servlet搞出來(lái)的,而JSF是基于Servlet的技術(shù),怎么可能實(shí)現(xiàn)不了呢? 三天做出來(lái)!我一直相信,技術(shù)在于使用技術(shù)的人,而不是技術(shù)本身。

下載JSF表格組件

先看圖吧:

再看看對(duì)應(yīng)的JSF標(biāo)記

 
 
 
 
  1. < !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  2. < html xmlns="http://www.w3.org/1999/xhtml" 
  3.     xmlns:h="http://java.sun.com/jsf/html" 
  4.     xmlns:f="http://java.sun.com/jsf/core" 
  5.     xmlns:ui="http://java.sun.com/jsf/facelets" 
  6.     xmlns:cby="http:/www.lifesting.com/jsf"> 
  7.  
  8. < ui:composition template="/tpl.xhtml"> 
  9.  
  10.     < ui:define name="pageTitle">表格展示< /ui:define> 
  11.     < ui:define name="pageHeader">國(guó)家< /ui:define> 
  12.     < ui:define name="body"> 
  13.  
  14.     < h:form> 
  15.             < h:panelGrid columns="1"> 
  16.                 < h:message for="mytable" /> 
  17.             < /h:panelGrid> 
  18.             < cby:rns text="頁(yè)面設(shè)置" tableFor="mytable" /> 
  19.             < cby:filter text="過(guò)濾策略" tableFor="mytable" /> 
  20.             < cby:delete tableFor="mytable" /> 
  21.             < cby:table id="mytable" var="rec" checkable="true" idField="code" 
  22.                 bean="Country"> 
  23.                 < cby:column field="name" sortable="true" filterable="true" 
  24.                     width="200" value="名稱(chēng)"> 
  25.                     < h:outputText value="#{rec.wrapped.name}">< /h:outputText> 
  26.                 < /cby:column> 
  27.                 < cby:column field="region" sortable="true" filterable="false" 
  28.                     width="100" value="區(qū)域"> 
  29.                     < h:outputText value="#{rec.wrapped.region}">< /h:outputText> 
  30.                 < /cby:column> 
  31.                 < cby:column field="surfaceArea" sortable="false" filterable="true" 
  32.                     width="150" value="表面積"> 
  33.                     < h:outputText value="#{rec.wrapped.surfaceArea}">< /h:outputText> 
  34.                 < /cby:column> 
  35.                 < cby:column field="population" sortable="true" filterable="true" 
  36.                     width="100" value="人口"> 
  37.                     < h:outputText value="#{rec.wrapped.population}">< /h:outputText> 
  38.                 < /cby:column> 
  39.                 < cby:ds /> 
  40.             < /cby:table> 
  41.         < /h:form> 
  42.     < /ui:define> 
  43. < /ui:composition> 
  44.  
  45. < /html> 

因?yàn)殚_(kāi)發(fā)平臺(tái)最終是以BO為核心,所以此表格組件是通過(guò)設(shè)置 bean,然后再通過(guò)Hibernate來(lái)獲取數(shù)據(jù)的。

這個(gè)JSF表格組件除采用JSF +Facelet之外,沒(méi)有其它頁(yè)面技術(shù),代碼簡(jiǎn)潔,無(wú)抽象,且里面還有注釋?zhuān)鯇W(xué)者可以參考一下。

JSF表格組件主要功能:
1 設(shè)置column的filterable屬性(true/false)來(lái)過(guò)濾數(shù)據(jù)(目前實(shí)現(xiàn)為左匹配,比如輸入Sa,就是Sa開(kāi)頭的)
2 分頁(yè)導(dǎo)航
3 設(shè)置column的sortable屬性(true/false)用來(lái)對(duì)某列進(jìn)行 正/反 排序
4 改變頁(yè)記錄大小,默認(rèn)為20條/頁(yè)
5 設(shè)置table的checkable屬性為true,表格將會(huì)多一列用來(lái)選擇。
6 可以批量刪除被checked的記錄。

這個(gè)組件只考慮了功能,并沒(méi)有考慮到美觀,如果你覺(jué)得可以用,改改它的html屬性設(shè)置。

安裝:

1 附件是一個(gè)Maven項(xiàng)目,必須安裝有maven。
2 安裝MySQL數(shù)據(jù)庫(kù),啟動(dòng)MySQL,運(yùn)行
create database world
3 找到項(xiàng)目下面的world.sql,假設(shè)其路徑為/a/b/c/world.sql,使用MySQL的source命令
use world
source /a/b/c/world.sql
4修改項(xiàng)目下的hibernate.cfg.xml中MySQL數(shù)據(jù)庫(kù)用戶(hù)名/密碼。
5 執(zhí)行mvn jetty:run 啟動(dòng)
6 瀏覽器輸入 http://localhost:8080/jsftry/ 就可以看到效果了

關(guān)于調(diào)試:
1 下載一個(gè)Eclipse JEE版本
2  在項(xiàng)目目錄下執(zhí)行 mvn eclipse:clean eclipse:eclipse -DdownloadSources=true -Dwtpversion=1.5
3 在eclipse workspace中import此項(xiàng)目

雖然工作中不用Java很久了,但拿起來(lái)玩玩還是覺(jué)得Java真的很有生產(chǎn)力。JSF,Hibernate,Maven,Eclipse一個(gè)比一個(gè)牛比。


分享標(biāo)題:JSF表格組件的制作思路(含源代碼)
URL地址:http://www.5511xx.com/article/dpepgie.html