聽聽聽聽聽聽聽 浜嬪疄涓婏紝JSF鐨勭洰鏍囨槸鐩稿綋涓嶉敊鐨勶紝甯屾湜浠g爜浜哄憳鑳藉拰緹庡伐鍒嗙錛屽茍涓旇兘澶熷揩閫熺殑寮鍙戙備絾鏄叾涓殑涓浜涙湁寰呰В鍐崇殑闂錛岃矊浼間笌鍒濊》鐩歌繚鑳岋細鐑︾悙鐨勯厤緗紝姣旇緝渚濊禆寮鍙戝伐鍏鳳紝涓嶅鐏墊椿絳夌瓑銆傜洿鍒癋rails榪欎釜JSF妗嗘灦鐨勮癁鐢燂紝JSF浠ュ線鐨勭儲鎭奸兘瑙e喅浜嗐侳rails鑳藉府鍔╀綘蹇熺殑寮鍙慗SF錛屾晥鐜囧彲浠ュ拰ROR濯茬編錛?br />
聽聽聽聽聽聽聽 浣犲彲浠ュ湪Souceforge鎵懼埌榪欎釜欏圭洰 https://sourceforge.net/projects/frails聽銆備腑鏂囩珯涓?a >http://frails.hexiao.cn/聽銆?鐩墠Frails鐨勬渶鏂扮増鏈槸1.2錛屼笉榪囬┈涓?.0灝辮鍙戝竷浜嗐?br />聽聽
聽 Frails鐨勭壒鎬у涓嬶細
- Frails 璁╁紑鍙戣呬嬌鐢ㄧ害瀹?涔犳儻)鍜屾敞瑙?annotations)鏉ョ渷鐣ュ湪 faces-config.xml 鏂囦歡涓?managed-bean 鍜?navigation-rule鐨勯厤緗?
- Frails 鎻愪緵涓涓洿綆鍗曠殑鏂規硶鏉ヤ嬌鐢?Faces API.
- Frails 閲嶅畾鍚戦潪 faces 璇鋒眰涓轟竴涓?faces 璇鋒眰,榪欐牱鍙互閬垮厤鍥犱負URL杈撳叆鐨勭枏蹇藉鑷寸殑寮傚父.
- Frails 鎻愪緵涓浜涢瀹氫箟鐨?Managed Bean 鍩虹被璁╁紑鍙戣呮墿灞?.
- Frails 鍙互璁╁紑鍙戣呭湪 Managed Bean 涓嬌鐢ㄦ敞瑙?Annotation)鏉ユ敮鎸丄OP鍔熻兘 ,濡?鍑芥暟鎷︽埅(method interception).
- Frails 鎻愪緵 Managed Bean 灞炴х殑injection 鍜?outjection
- Frails 涓殑Hibernate GenericDao 瀵硅薄鎻愪緵浜嗗熀鏈殑 CRUD 鍑芥暟 鍜?鍏朵粬涓浜涙湁鐢?甯哥敤)鐨勬暟鎹闂嚱鏁?
- Frails 榪樻彁渚涗簡涓浜涙湁鐢ㄧ殑娉ㄨВ(annotations)鏉ョ畝鍖朖SF鐨勫紑鍙?
- Frails 瀹屽叏鏀寔 jsf 1.1 鍜?jsf 1.2 瑙勮寖,騫朵笖鍙互鑷姩鐨勬帰嫻嬩綘浣跨敤鐨勭増鏈?
- Frails 鎻愪緵浜嗗action Method 鍜?Listener 鍑芥暟鐨勫寮?鍦ㄨ繖浜涘嚱鏁頒腑鐜板湪浣犲彲浠ヤ紶閫掑弬鏁頒簡.
聽聽聽聽聽聽聽 浣滀負涓鍚岶rails鐨勫紑鍙戜漢鍛橈紝鎴戜細緇х畫鍐欏緢澶氬叧浜嶧rails鐨勬枃绔犮備笉榪囧厛鍦ㄨ繖閲岀畝鍗曠殑灞曠ず涓涓婩rails鐨勫嚑涓壒鎬э紝濡傛灉浣犺璇︾粏鐨勫療鐪嬩嬌鐢ㄦ柟娉曪紝璇峰埌 http://frails.hexiao.cn/user-guide.html
涓嶉渶瑕侀厤緗甪aces-config.xml
聽聽聽聽聽聽 鍐嶄篃涓嶉渶瑕佸湪faces-config.xml閲屼竴涓釜鐨勫啓瀵艱埅瑙勫垯錛屾敞鍐孧anageBean浜嗐傚湪Frails妗嗘灦涓嬫敞鍐屼竴涓狹anageBean鍙渶瑕佸湪Bean鐨凜lass鏂囦歡鍓嶅姞涓夽DefMbean榪欐牱鐨凙nnotation灝卞彲浠ヤ簡銆傝屽鑸細鏍規嵁涓瀹氱殑瀵艱埅瑙勫垯瀹炵幇銆傛瘮濡傚鑸幓index.jsp灝卞彲浠ョ洿鎺ヨ繑鍥?index"灝卞彲浠ヤ簡錛屽綋鐒訛紝榪樻湁鏇寸伒媧葷殑鏂瑰紡銆?br />
杞繪澗瀹炵幇GET
聽聽聽聽聽聽聽 URL閲屽姞涓婂弬鏁幫紞鍊煎鑳藉杞繪澗鐨勮В鏋愬嚭鏉ヤ簡錛岀敋鑷充笉闇瑕佸啓鏂規硶銆傚湪涓涓猄tring灞炴у墠鍔犱笂@Param錛坣ame=paramName錛夊悗錛岃繖涓睘鎬у氨鑷姩鑾峰緱鏉ヨ嚜URL閲宲aramName鐨勫箋傚錛?/p>
@Param(name="paraName")
String聽paVa;URL鏄?/xxx.jsp?paraName=Yes 閭d箞paVa鐨勫煎氨鏄痀es銆?br />聽聽聽聽聽聽聽
聽聽聽聽聽聽聽 鑰屽湪涓涓棤榪斿洖鏂規硶鍓嶅姞涓夽PreRender鍚庯紝榪欎釜鏂規硶灝嗗洖鍦ㄩ〉闈㈡覆鏌撳墠璋冪敤錛屾彁鍓嶈幏鍙栦竴浜涚浉鍏崇殑淇℃伅銆傚錛?/p>
@PreRender
public聽void聽preRender()


{
聽聽聽聽//do聽something聽for聽rendering聽the聽page
}
銆銆褰撶劧浜嗭紝Frails鎻愪緵浜嗚鏂規硶鍦ㄥ悇涓0鏄庡懆鏈熷緱鍒拌皟鐢ㄧ殑Annotations錛屼笉浠呬粎鏄娓叉煋銆?br />
浠庣儲鐞愮殑楠岃瘉涓В鑴?br />聽聽聽聽聽聽聽 Frails浣垮緱浣犺兘鍦ㄧ敵鏄庝竴涓睘鎬х殑鏃跺欏氨鑳藉揩閫熺畝鍗曠殑鍔犱笂涓浜涢檺鍒舵潯浠訛紝鎴愪負榪欎釜灞炴х殑楠岃瘉鍣ㄣ傚涓?/p>
@Prop
聽聽聽聽@ValidateNumber(required聽=聽true,聽max聽=聽"33",聽id聽=聽"indexForm:id",聽message聽=聽"error.id.invalid")
聽聽聽聽int聽id;

聽聽聽聽聽聽 榪欐牱灝變嬌寰楀湪setID鐨勬椂鍊欐牴鎹渶瑕佽繘琛岄獙璇侊紝鑰屼笉蹇呭啀鍐檝alidate鏂規硶銆?br />
浣跨敤綆鍗曘佸姛鑳藉己澶х殑JSFHelper
聽聽聽聽聽聽聽 渚嬪,濡傛灉涓涓璞¤鏀懼叆HttpSession. 浣跨敤鏍囧噯鐨?Faces API, 浠g爜濡備笅:
聽聽FacesContext.getCurrentInstance().getExternalContext()
聽聽.getSessionMap().put(name,聽val);聽聽聽聽聽聽聽聽 濡傛灉浣跨敤 JSFHelper,浠g爜鏄姝ょ殑綆鍗?
JSFHelper.putIntoSession(name,聽val);聽聽聽聽聽聽聽 褰撶劧錛孞SFHelper榪樻湁寰堝鍏朵粬鐨勫姛鑳姐傚瀵艱埅鍔熻兘錛岃兘灝嗛〉闈箣闂寸殑鏁版嵁鏈澶у寲鐙珛寮錛屼箣闂寸殑鑱旂郴鍙渶瑕佽瀹氭湁浠涔堝睘鎬у氨鍙互浜嗐傦紙浠ュ悗浼氳緇嗕粙緇嶏細Frails涓嬬綉绔欏揩閫熷紑鍙戞ā寮忥級
榪樻湁寰堝鐗規э紝甯姪浣犲揩閫熷紑鍙慗SF銆傚綋浣犵湡姝d綋楠岃繃Frails鍚庯紝浣犲氨鍥炲彂鐜癑SF涓緇熷ぉ涓嬬殑鏃朵唬鐨勬潵涓達紒

]]>