Colegas,
Olhando no site do richfaces ví esse exemplo de menú com ajax através do paramêtro submitMode=“ajax”.
Pois bem, baseado nisso criei uma classe que cria os meus itens do menu conforme abaixo e pergunto:
Tem como adiconar ajax na minha classe?
Muito obrigado,
Marques
<rich:menuGroup value="Save As...">
<rich:menuItem submitMode="ajax" value="Save"
action="#{ddmenu.doSave}" icon="/images/icons/save.gif" />
<rich:menuItem submitMode="ajax" value="Save All"
action="#{ddmenu.doSaveAll}">
<f:facet name="icon">
<h:graphicImage value="/images/icons/save_all.gif" />
</f:facet>
</rich:menuItem>
</rich:menuGroup>
//Aquí é criado cada item do menu
HtmlPanelMenuItem itemN3 = new HtmlPanelMenuItem();
itemN3.setLabel(m3.getLabel());
itemN3.setName(m3.getId().toString());
itemN3.setActionExpression(getOutcome(m3.getUrl())); // Vide o método getOutcome abaixo
//Aqui eu preciso que a ação seja chamada com ajax. Tem como?
public MethodExpression getOutcome(String outcome) {
FacesContext fc = FacesContext.getCurrentInstance();
ELContext ec = fc.getELContext();
return fc.getApplication().getExpressionFactory().createMethodExpression(ec, "#{" + outcome + "}", String.class, new Class[] {});
}