a4j:commandButton - action not performed on click
nubknacker Apr 19, 2009 2:22 PMHi,
I'm new to seam and jsf and I have written a very simple page. In the page I have added a a4j command button which is supposed to call a method of the page. However, no method is called after the click is performed. I tried to see if the AJAX request is sent at all using firebug but no request is generated.
The view:
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:s="http://jboss.com/products/seam/taglib"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:rich="http://richfaces.org/rich"
xmlns:a4j="http://richfaces.org/a4j"
template="layout/template.xhtml">
<ui:define name="body">
<rich:panel>
<div class="results"><h:outputText
value="hmm, something's not right"
rendered="#{empty reactionList}" />
<rich:dataTable
id="reactionList" var="simpleReaction"
value="#{reactionList}"
rendered="#{not empty reactionList}">
// ..columns and headers
<rich:column>
#{simpleReaction.processedMaterial.sellPrice}
<a4j:commandButton action="#{simpleReactionList.zxy}" value="abcd" />
</rich:column>
</rich:dataTable>
</div>
</rich:panel>
</ui:define>
</ui:composition>
SimpleReactionList.java:
@Name("simpleReactionList")
public class SimpleReactionList {
@Logger
private Log log;
@In(value = "entityManager")
private EntityManager em;
@In
StatusMessages statusMessages;
@DataModel
private List<SimpleReaction> reactionList;
@Factory("reactionList")
public void simpleReactionList() {
log.info(getClass() + " initialized");
List<ProcessedMaterial> processedMaterialList = em.createQuery("select m from ProcessedMaterial m").getResultList();
reactionList = new ArrayList<SimpleReaction>();
// do some other stuff
}
public void zxy() {
log.info("--------------------------------------------------------------------------");
log.info("--------------------------------------------------------------------------");
}
}
All the data displays perfectly. Only the ajax request doesn't go out.
Could someone give me an idea as to what i'm doing wrong? This is just a test app i'm writing to understand seam, jsf and richfaces.