Possibly validation is failing and the lifecycle never reaches the point where it would execute your action.
You might try sticking in <h:messages globalOnly="true"/> <h:messages globalOnly="false"/> and see if anything shows up. Otherwise set a breakpoint in LifecycleImpl.execute() and see what phases are being executed. On 8/24/05, Joel Wilson <[EMAIL PROTECTED]> wrote: > I am trying to create an admin section for an online database, right now I'm > simply trying to create basic add/edit/remove functionality. Almost > everything seems to work, except that my bound methods only call sometimes. > There is not logical reason I am seeing for this, there is nothing in my > logs about it. When I have my SelectOneListBox bound to a property it pretty > much ignores it, once in a while it will try to call the getter, but it has > never called the setter. > > I have tried every combination of things to try and get it working but most > seem to have no effect. Does anyone else know if maybe it's the Apple JDK or > the Spring Framework's DelegatingVariableResolver, the Tomahawk extensions, > maybe even the fact that I have multiple commandXX's in the form? > > Page backing Bean > > /* > * Created on Aug 23, 2005 > * > */ > package com.devotion.jra.website.pagebeans; > > import javax.faces.context.FacesContext; > import javax.faces.event.ActionEvent; > import javax.faces.event.ValueChangeEvent; > > import org.apache.commons.logging.Log; > import org.apache.commons.logging.LogFactory; > import > org.springframework.orm.hibernate3.HibernateTemplate; > > import com.devotion.jra.website.dao.SpringBeanGetter; > import com.devotion.jra.website.databeans.Location; > > public class Locations { > > private static final Log log = LogFactory.getLog(Locations.class); > private HibernateTemplate dao; > public static final String SELF = "viewLocations"; > > private Location currentItem = new Location(); > private Integer currentlySelected = null; > > // page methods > // constructor > public Locations() { > dao = SpringBeanGetter.getDao(FacesContext.getCurrentInstance()); > } > > // we are asked to create a new location > public String newItem() { > System.out.println("Creating new current item"); > currentItem = new Location(); > return SELF; > } > > // we are asked to pull the current one from the list > public String editItem() { > System.out.println("Getting currently selected item"); > if (currentlySelected != null) > setCurrentItem((Location) dao.get(Location.class, > currentlySelected)); > return SELF; > } > > // we are asked to delete the currently selected one > public String removeItem() { > System.out.println("Removing currently selected item"); > if (currentlySelected != null) > dao.delete(dao.get(Location.class, currentlySelected)); > currentlySelected = null; > return SELF; > } > > // we are asked to save the current item > public String saveItem() { > System.out.println("Saving current item"); > dao.saveOrUpdate(currentItem); > return SELF; > } > > public void listen(ActionEvent e) { > System.out.println("Action Event Fired"); > System.out.println("Source: " + e.getSource()); > System.out.println(e.toString()); > } > public void listen(ValueChangeEvent e) { > System.out.println("Value Change Event Fired"); > System.out.println("Source: " + e.getSource()); > System.out.println(e.toString()); > } > > // ------------------ end page methods > > // getters and setters > public Location getCurrentItem() { > System.out.println("Returning current item"); > return currentItem; > } > > public void setCurrentItem(Location currentItem) { > System.out.println("Setting current item"); > this.currentItem = currentItem; > } > > public Integer getCurrentlySelected() { > System.out.println("Returning selection index"); > return currentlySelected; > } > > public void setCurrentlySelected(Integer currentlySelected) { > System.out.println("Setting selection index"); > this.currentlySelected = currentlySelected; > } > } > > > > JSP File > > <%@ page language="java" pageEncoding="UTF-8"%> > <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %> > <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %> > <%@ taglib uri="http://myfaces.apache.org/extensions" > prefix="x"%> > <h:outputText value="Locations" styleClass="adminPageHeading"/> > <x:aliasBean alias="#{simpleElementBean}" value="#{LocationsBean}"> > <x:aliasBean alias="#{dao}" value="#{LocationsDao}"> > <x:aliasBean alias="#{type}" value="location"> > <h:panelGrid columns="1"> > <h:form> > <h:panelGrid columns="2" styleClass="controlPanelPaneSubPanel"> > <h:selectOneListbox size="5" > value="#{simpleElementBean.currentlySelected}""> > <f:convertNumber type="int"/> > <f:selectItems value="#{dao.selectItems}"/> > </h:selectOneListbox> > <h:panelGroup> > <h:commandLink value="Create new #{type}" > action="#{simpleElementBean.newItem}" > actionListener="#{simpleElementBean.listen}"/><f:verbatim><br > /></f:verbatim> > <h:commandLink value="Edit selected #{type}" > action="#{simpleElementBean.editItem}" > actionListener="#{simpleElementBean.listen}"/><f:verbatim><br > /></f:verbatim> > <h:commandLink value="Remove selected #{type}" > action="#{LocationBean.removeItem}" > actionListener="#{LocationBean.listen}"/> > </h:panelGroup> > </h:panelGrid> > </h:form> > <h:form> > <h:panelGrid columns="2" styleClass="controlPanelPaneSubPanel"> > <h:outputLabel for="itemName" value="Name"/> > <h:inputText id="itemName" > value="#{simpleElementBean.currentItem.name}" > valueChangeListener="#{simpleElementBean.listen}" size="30" required="true" > > > <f:validateLength minimum="3" maximum="30"/> > </h:inputText> > <h:commandLink value="Save" action="#{simpleElementBean.saveItem}" > actionListener="#{simpleElementBean.listen}"/> > <h:message for="itemName" /> > </h:panelGrid> > </h:form> > </h:panelGrid> > </x:aliasBean> > </x:aliasBean> > </x:aliasBean> > > >