瀵逛簬鏍囪搴擄紝涓嶆兂鍐嶈浜涗粈涔堜簡銆俲sf鍙兘鏈澶х殑姣涚梾閮藉湪榪欎釜鏍囪搴撲笂闈紝棣栧厛瀹氫箟鐨勬爣璁板湪jsp涓紝騫朵笉璧峰埌鐩稿簲鐨勮緭鍑哄姛鑳斤紝鑰屽彧鏄敤鏉ュ鍔犵浉搴斿緱緇勪歡銆傚湪jsf涓紝鏈涓婂眰鐨勭粍浠朵負UIViewRoot錛屽熀鏈笂鎵鏈夌殑鎿嶄綔閮芥槸闇瑕佸洿緇曠潃姝ょ粍浠躲傝屾爣璁板簱鐨勫瓨鍦紝鍙槸涓轟簡綆鍖栫浉搴旂殑鎿嶄綔銆傚涓嬬殑鏍囪錛?br>
<f:view>
<h:form>
<h:panelGrid>
.
</h:panelGrid>
</h:form>
</f:view>
鍏跺疄瀵瑰簲鐨刯ava浠g爜錛屽涓嬶細
FacesContext context = FacesContext.getCurrentInstance();
UIViewRoot root = context.getViewRoot();
HtmlForm form = new HtmlForm();
HtmlPanelGrid grid = new HtmlPanelGrid();
form.getChildren().add(grid);
root.getChildren().add(form);
涔熷氨鏄娌℃湁鏍囪搴擄紝鎴戝畬鍏ㄥ彲浠ヤ嬌鐢╦ava浠g爜瀹屾垚銆?br> 閭d箞鏍囪搴撶殑瀛樺湪鍒板簳鏈夋病鏈夋剰涔夛紝鎰忎箟鍙兘灝卞湪浜庣畝鍖栫浉搴旂殑鎿嶄綔錛屾兂鎯砲tml鐨勫睘鎬ф槸姣旇緝澶氱殑錛屽鏋滄瘡涓兘瑕佺敤java浠g爜鍘繪帶鍒訛紝閭d箞鍙兘瀵逛簬搴旂敤鏉ヨ錛屾樉寰楀緢涓嶇伒媧伙紝鍥犱負鏀逛唬鐮佹瘯绔熸病鏈夋敼jsp鏉ョ殑蹇傝屼笖浠g爜闇瑕侀噸鏂扮紪璇戙傛墍浠sf鐨勬爣璁板簱瀛樺湪涔熸槸鏈夌偣鎰忎箟鐨勩?br>鍙槸錛岀幇鍦ㄧ殑闂鏄紝鐢變簬jsf鏈韓灝辨槸瑙勮寖錛屽叾瀹炵幇涔熷氨浼氬悇鏈変笉鍚岋紝瀵逛簬姣忕瀹炵幇閮戒細甯︽湁鑷繁鐨勯偅涓濂楁爣璁板簱錛岄殢鐫鏍囪搴撶殑澧炲姞錛屽浜庝嬌鐢ㄨ呮潵璇達紝涔熸槸涓嶅牚蹇嶅彈鐨勯噸璐熴傛墍浠ワ紝鏈変簺鏃跺欙紝濡傛灉闇瑕佸姩鎬佸仛涓浜涢厤緗紝閭d箞榪樻槸涓㈠純鏍囪搴擄紝鐢╦ava浠g爜鏉ュ畬鎴愬惂銆傚綋鐒秄acelets錛屾彁渚涗簡涓縐嶆柟寮忥紝鐢ㄤ簬寰堢伒媧葷殑鎵╁睍澶氫釜鏍囪搴擄紝鍙槸錛岀湅鐫閭d箞澶氱殑鏍囪錛屾繪槸榪樻湁浜涘ご鐤箋?br>
鍏舵錛屽浜庢爣璁板簱鏉ヨ錛屽悇涓爣璁板簱鐨勪笉鍏煎涔熸槸涓涓緢澶х殑闂銆傚氨鎷縥stl鍜宩sf鏉ヨ錛宩stl鐨勫彉閲忓0鏄庯紝鍦╦sf涓偗瀹氭槸娌℃湁鍔炴硶瑙f瀽鐨勶紝鍚屾牱jsf涓殑鍙橀噺錛屽湪jstl涓篃涓嶈兘璁よ瘑銆傛垜鎸囩殑鏄〉闈㈠0鏄庣殑鍙橀噺錛岃屼笉鏄痵ession鍙橀噺錛屽涓嬬殑渚嬪瓙錛?br>
<h:dataTable styleClass="table-background"
rowClasses="table-odd-row,table-even-row"
cellpadding="3"
value="#{recordBean.records}"
var="record"
binding="#{recordBean.recordData}">
<c:if test="${record}">
</c:if>
</h:dataTable>
鍦╠ataTable涓0鏄庝簡鍙橀噺record錛屼絾鏄湪jstl涓槸涓嶄細璁よ瘑鐨勩?br> 鍙兘榪欎釜闂錛宖acelets宸茬粡瑙e喅浜嗭紝涓昏facelets鎶婃墍鏈夌殑Elcontext涓殑鍙橀噺閮界粨鍚堝湪浜嗕竴璧鳳紝浣跨敤鑷韓鐨凢aceletsContext銆?br>涓嶈繃錛屽鏋滄垜鍙槸闇瑕佺畝鍗曠殑鍔熻兘錛岃繕闇瑕佷嬌鐢╢acelets錛岄偅涔堜篃灝辨湁鐐瑰ぇ鏉愬皬鐢ㄤ簡銆傚喌涓攆acelets涔熷彧鏄彁渚涗簡綾諱技tiles鐨勫姛鑳姐?br>鏈鍚庯紝鎯寵鐨勬槸錛岃櫧鐒秊sf鐩墠鐨刬de鏀寔錛屾瘮鍏朵粬妗嗘灦澶氬浜嗐傚彲鎯滐紝浜哄閮芥槸寤虹珛鍦ㄧ浉搴旂殑鏍囪搴撲笂鐨勶紝濡傛灉浣犲畾涔変簡鑷繁鏍囪搴擄紝浜哄涓嶄竴瀹氫細璁よ瘑銆傛墍浠ユ爣璁板簱鐨勫瓨鍦紝瀵逛簬jsf鏉ヨ錛屼篃璁稿茍涓嶄竴瀹氭槸濂戒簨鎯咃紝鍙兘sun瑙夊緱濡傛灉鎶妀sp鎶涘純浜嗭紝鏈夌偣鍙儨銆傛墍浠ュ湪鍗囩駭jsf鐨勫悓鏃訛紝涔熷崌綰т簡鐩稿簲寰梛sp瑙勮寖銆?br> 涓漢瑙夊緱錛屼篃璁告ā鐗堟妧鏈紝鍙兘涔熶細鏄竴縐嶉夋嫨錛岀湅鐪媣elocity鍜宖reemarker錛岃寰楀叾姣攋sp鏈変紭鍔垮浜嗐?br>

]]>