RichFaces
RichFaces | |
Fejlesztő | JBoss |
Első kiadás | 2005 |
Operációs rendszer | platformfüggetlen |
Kategória | JSF UI komponenskészlet |
Licenc | GNU Lesser General Public License |
A RichFaces weboldala |
A RichFaces egy nyílt forráskódú, ajaxos komponenskönyvtár a JBosstól a JavaServer Faces lehetőségeink kibővítésére. Ajaxos funkciókat lehet vele vállalati alkalmazásokba építeni.
A RichFaces leírása
[szerkesztés]RichFaces több mint egy JavaServer könyvtárkomponens, számos egyéb lehetőséget is biztosít:
- szabványos designt(könnyen változtatható és frissíthető alkalmazás kinézetet)
- Component Development Kit - et (CDK), ami segít JavaServer Faces komponensek felépítésénél
- Dinamikus erőforrás vázat
- oldal szélesség és komponensek tulajdonságai Ajax vezérlő komponensen alapulnak.
A RichFaces története
[szerkesztés]RichFaces az Ajax4jsf vázból ered, amelyet Alexander Smirnov csinált és tervezett.[1] 2005 őszén Smirnov csatlakozott Exadelhez és folytatta a váz fejlesztését. Az Ajax4jsf-en történt változtatásai először 2006 márciusában mutatkoztak be. Később, még abban az évben, az Exadel VCP levált az eredeti projektről és az Ajax4jsf váz és a Rich Faces megszületett. Míg a RichFaces "out-of-box" komponenseket készít (ezek komponens centrikus Ajax hívások, ahol a komponensek azt a feladatot látják el, amire a felhasználónak szüksége van), addig az Ajax4jsf Ajax támogatást szolgáltatott. A fejlesztők meghatározták, hogy az oldal mely részeit kellene feldolgozni a szerveren, és hogy mely részeket kellene feldolgozni a művelet után. Ezek után a két könyvtár fejlődése elvált. Az Ajax4jsf egy nyílt forrású projekt lett a Java.net által támogatva, míg a RichFaces egy kereskedelmi JSF komponens könyvtárrá vált.
2007 márciusában a JBoss és az Exadel aláírt egy megegyezést, amelyben az áll hogy az Ajax4jsf-nek és a RichFaces-nek nem kellene a JBoss ernyője alatt lennie tovább és úgy kellene hívni őket inkább, hogy JBoss Ajax4jsf és JBoss RichFaces és így a RichFaces-nek nem kellene szabad forrásúnak lennie. 2007 szeptemberében, a JBoss és az Exadel elhatározták hogy összeolvasztják az Ajax4jsf-t és a RichFaces-t RichFaces név alatt. Ez azt az érzetet keltette, hogy a könyvtárak nem lesznek továbbra is szabadok és nyílt forrásúak.
A váz
[szerkesztés]Komponenskönyvtárként valósították meg úgy, hogy már meglévő oldalakat is ki lehessen bővíteni ajaxos funkciókkal. Így a fejlesztőknek nem kell lecserélniük létező komponenseket új, ajaxos widgetekre. A RichFaces a hagyományos komponensek működése mellett teszi lehetővé az Ajax támogatását. A fejlesztő Ajax-kérésre frissülő JSF oldalrészleteket határozhat meg, és Ajax-kéréseket küldhet a szerverre. Mindezt úgy, hogy a JSF oldalon nem kell változtatni és nem is kell JavaScriptben kódolni. A Richfaces jQuery-re (is) épül, azonban a beépített verziót érdemes leellenőrizni használat előtt.
RichFaces konstrukció
[szerkesztés]- Ajax szűrő - szabványosan biztosítja az Ajax támogatást anélkül, hogy szűrőt kellene regisztrálni az alkalmazás web.xml file-jában. A szűrő felismeri a kéréstípusokat.
- Ajax műveletkomponensek - AjaxCommandButton, AjaxCommandLink, AjaxPoll, AjaxSupport és más műveletkomponensek is használhatóak Ajax-kérések küldésére.
- AJAX Containers - Az AjaxContainer egy interface , amivel JSF oldalak olyan részeit lehet leírni, amik Ajax kérés során dekódolódnak. Az AjaxViewRoot és az AjaxRegion ennek az interface-nek az implementációi.
- JavaScript Engine - A RichFaces JavaScript motor a kliensoldalon fut. Különböző területeket frissít a JSF oldalon az ajaxos válaszok alapján. A JavaScript motor szolgáltat egy API-t, így a fejlesztőnek nem kell saját JavaScript funkciókat megvalósítania.
Egy egyszerű JSF oldal RichFaces naptár komponenssel
<!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:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich">
<ui:composition template="/templates/component-sample.xhtml">
<a4j:outputPanel id="calendar" layout="block">
<rich:calendar value="#{calendarBean.selectedDate}"
locale="#{calendarBean.locale}"
popup="#{calendarBean.popup}"
datePattern="#{calendarBean.pattern}"
showApplyButton="#{calendarBean.showApply}"
cellWidth="24px" cellHeight="22px" style="width:200px"/>
</a4j:outputPanel>
</ui:composition>
</html>
Ez az eredménye a fent írt kódnak:
Jegyzetek
[szerkesztés]- ↑ Max Katz, Exadel: Ajax4jsf and RichFaces - historical perspective, 2008. augusztus 15. [2009. február 2-i dátummal az eredetiből archiválva]. (Hozzáférés: 2011. június 4.)