Menu Dinâmico icefaces

1 resposta
Marques

Colegas,

Fiz um menu estático no meu xhtml assim:

<ice:menuItem value="File" id="file">
                       <ice:menuItem id="open" value="Open"
                                     actionListener="#{menuBar.listener}">
                             <f:param name="myParam" value="Open"/>
                       </ice:menuItem>

Agora, preciso que esse menu seja dinâmico e mudei o meu xhtm para:

<ice:form>
					<ice:menuBar orientation="Vertical">
						<ice:menuItems value="#{menuBar.menuModel}" />
					</ice:menuBar>
				</ice:form>

Ele monta o meu legalzinho, porém no meu ManagedBean não sei como pegar o actionListener. Vc pode me ajudar? Se não for pedir demais, poderia me mostrar um exemplo?
Estou tentando assim (mas não está rolando…):

MenuItem sub1_1_1 = new MenuItem(); sub1_1_1.setValue("sub1_1_1"); sub1_1_1.setActionListener(???);
E aqui o metodo listener:

public void listener(ActionEvent e) { System.out.println("OOps"); FacesContext facesContext = FacesContext.getCurrentInstance(); Map params = facesContext.getExternalContext().getRequestParameterMap(); String myParam = (String) params.get("myParam"); if (myParam != null && myParam.length() > 0) { setParam(myParam); } else { setParam("not defined"); } }

1 Resposta

javer
Amigo desculpe não poder te ajudar sobre o Listener, mas eu também estou tentando fazer um menu dinâmico com o ICEfaces mas não estou sabendo como fazer o bean com o menu e chamar ele no jsp, tenho essa classe com o exemplo do menu:
import com.icesoft.faces.component.menubar.MenuItem;
import java.util.ArrayList;
import java.util.List;

public class MenuBean {

    private List menuModel;

    public List getMenuModel() {
        return menuModel;
    }

    public MenuBean() {

        menuModel = new ArrayList();

        MenuItem topLevel1 = new MenuItem();
        topLevel1.setIcon("xmlhttp/css/xp/css-images/menuitem.gif");
        topLevel1.setValue("Gerencial");

        MenuItem topLevel2 = new MenuItem();
        topLevel2.setIcon("xmlhttp/css/xp/css-images/menuitem.gif");
        topLevel2.setValue("Financeiro");

        MenuItem topLevel3 = new MenuItem();
        topLevel3.setIcon("xmlhttp/css/xp/css-images/menuitem.gif");
        topLevel3.setValue("Produção");

        menuModel.add(topLevel1);
        menuModel.add(topLevel2);
        menuModel.add(topLevel3);

        MenuItem sub1_1 = new MenuItem();
        sub1_1.setIcon("xmlhttp/css/xp/css-images/menuitem.gif");
        sub1_1.setValue("sub1_1");
        MenuItem sub1_2 = new MenuItem();
        sub1_2.setIcon("xmlhttp/css/xp/css-images/menuitem.gif");
        sub1_2.setValue("sub1_2");
        MenuItem sub1_3 = new MenuItem();
        sub1_3.setIcon("xmlhttp/css/xp/css-images/menuitem.gif");
        sub1_3.setValue("sub1_3");

        topLevel1.getChildren().add(sub1_1);
        topLevel1.getChildren().add(sub1_2);
        topLevel1.getChildren().add(sub1_3);

        MenuItem sub1_1_1 = new MenuItem();
        sub1_1_1.setIcon("xmlhttp/css/xp/css-images/menuitem.gif");
        sub1_1_1.setValue("sub1_1_1");
        MenuItem sub1_1_2 = new MenuItem();
        sub1_1_2.setIcon("xmlhttp/css/xp/css-images/menuitem.gif");
        sub1_1_2.setValue("sub1_1_2");
        MenuItem sub1_1_3 = new MenuItem();
        sub1_1_3.setIcon("xmlhttp/css/xp/css-images/menuitem.gif");
        sub1_1_3.setValue("sub1_1_3");

        sub1_1.getChildren().add(sub1_1_1);
        sub1_1.getChildren().add(sub1_1_2);
        sub1_1.getChildren().add(sub1_1_3);
    }
}
O que falta nessa classe? E onde registra ela como para chamar no JSP assim?
<ice:menuBar binding="#{Page1.barraMenuHorizontal}" id="barraMenuHorizontal" style="left: 0px; top: 0px; position: absolute; width: 622px">
                        <ice:menuItems value="#{menuBean.menuModel}"/>
                    </ice:menuBar>

Se puder me dar uma dica para pelo menos eu vê os o menu dinâmico mostrado na página já vai ser de grande ajuda.

Obrigado.

Criado 30 de março de 2009
Ultima resposta 29 de abr. de 2009
Respostas 1
Participantes 2