marți, 21 aprilie 2009

Richfaces panelMenu

Richfaces reprezinta un framework bazat pe JSF extrem de puternic. Pune la dispozitie multe componente si in plus are ajax pentru toate aceste componente. In acest post voi arata cum se poate crea un meniu flotant.

Pasul 1: Se creaza o solutie eclipse de tip Dynamic Web Project versiunea 2.5 si se activeaza JSF 1.2. De asemenea,trebuie sa faceti disponibil framework-ul richfaces asa cum este descris la adresa: http://www.jboss.org/file-access/default/members/jbossrichfaces/freezone/docs/devguide/en/html_single/index.html.

Pasul 2: Se creaza un fisier .jsp si se adauga urmatorul cod:

<%@page pageEncoding="UTF8" contentType="text/html; charset=ISO-8859-2" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j" %>
<%@ taglib uri="http://richfaces.org/rich" prefix="rich" %>

<f:view>
<h:form>

<rich:panelmenu event="onclick" mode="ajax" width="300">
<rich:panelmenugroup label="Meniu test">
<rich:panelmenuitem label="Optiune 1" onclick="window.location.href='test.jsf';">
<rich:panelmenuitem label="Optiune 2" onclick="window.location.href='test.jsf';">
<rich:panelmenuitem label="Optiune 3" onclick="window.location.href='test.jsf';">
</rich:panelMenuGroup>
</rich:panelMenu>

</h:form>
</f:view>


Observatii:

In acest momentant ati obtinut un meniu flotant dar fara nici un fel de functionalitate alta decat fold. De cele mai multe ori veti avea nevoie sa faceti redirectare catre o alta pagina. Cel mai usor este sa folositi: onclick attribute si cod javascript pentru redirectionare. Acestea fiind lamurite ar mai fi de mentionat ce reprezinta: event="onclick" mode="ajax".
Onclick indica framework-ului richfaces sa genereze un meniu flotant care sa faca fold doar in momentul in care se executa click. O alta varianta ar putea fi onmouseover. A doua obtiune tine de modul in care se face submit. Modul predefinit este "server" ceea ce inseamna ca la fiecare click se va face refresh la pagina si se va reface arborele JSF. De asemenea, ca orice componenta din JSF se poate face bind pentru a se face legatura cu un backbean. Tipul de date este de forma: "HtmlPaneMenuXXXXX" unde xxx este: {"", "Group", "Item"}. Pachetul pentru acest tip de date este: org.richfaces.component.html. In acest pachet veti gasi majoritatea componentelor din RichFaces.

Niciun comentariu:

Trimiteți un comentariu