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>
>
>
>