Primefaces 2.2.1t: commandButton Ajax no se llama en el interior t: DataList
Mojarra 2.1.2
Tengo un método sofisticado en mi grano de JSF:
public void saySomething() {
log.debug("SAY SOMETHING !");
}
Y un simple botón en el JSF:
<p:commandButton
value="say something"
process="@this" update="@none" action="#{timetableBean.saySomething}" />
al hacer clic en el botón, resultados en mi sencillo registro:
DEBUG PhaseTracker - BEFORE PHASE INVOKE_APPLICATION 5
DEBUG TimetableBean - SAY SOMETHING !
DEBUG PhaseTracker - AFTER PHASE INVOKE_APPLICATION 5
Vamos al siguiente caso simple. Al colocar ese botón idénticos dentro de una p: DataList así:
<p:dataList id="groupUsers2" value="#{timetableBean.group.users}" var="user" itemType="circle" style="padding:0; margin: 0;">
<p:commandButton
value="#{user.data['selected'] ? 'V' : 'X'}"
process="@this" update="@none" action="#{timetableBean.saySomething}" />
<p:commandLink value="#{user.userId} - #{user.name}" process="@this" />
</p:dataList>
Al hacer clic en el botón, resultados en mi sencillo registro:
DEBUG PhaseTracker - BEFORE PHASE INVOKE_APPLICATION 5
DEBUG PhaseTracker - AFTER PHASE INVOKE_APPLICATION 5
El método de saySomething() no se realiza!
¿Qué hice mal?
El problema podría ser el atributo 'process'. ¿Qué es esto realmente decir porque se creará un componente CommandButton para cada elemento de '# {scheduleBean.group.users}'. ¿Qué se supone que '@ this' realmente se procesa? –
@maple_shaft: lo cambié a process = "@ form", y aún no funciona, el método de escucha no se invoca .. – bertie