[jboss-user] [JBoss Seam] - commandLink/commandButtton do not invoke action listener

mrwaves do-not-reply at jboss.com
Thu Jul 12 11:51:15 EDT 2007


I would like to update the values of the following check boxes in the database by using a form as shown below.


  | <h:form id="category_form">
  | 			<h:dataTable value="#{categoryFinder.categories}"
  | 				border="1" var="category"
  | 				rendered="#{not empty categoryFinder.categories}">
  | 				<h:column>
  | 					<f:facet name="header">Category</f:facet>#{category[0]}
  | 				</h:column>
  | 				<h:column>
  | 					<f:facet name="header">Assigned</f:facet>
  | 					<h:selectBooleanCheckbox id="categoryList" disabled="false"
  | 						value="#{category[1] > 0}" />
  | 				</h:column>
  | 				<h:column>
  | 					<f:facet name="header">Preferred</f:facet>
  | 					<h:selectBooleanCheckbox id="PreferredList" disabled="false"
  | 						value="#{category[2] == 1}" />
  | 				</h:column>
  | 			</h:dataTable>
  | 			<h:commandButton id="savecategory" value="Save"
  | 						action="#{categoryFinder.updateCategory}" />
  | </h:form>
  | 

When I click the submit button, the page is rerendered and and the altered check boxes are saved. But the action listener categoryFinder.updateCategory is not invoked - which means no database update has been taken place.


  | @Stateful
  | @Name("categoryFinder")
  | @Scope(ScopeType.CONVERSATION)
  | public class categoryFinderBean implements Serializable, CategoryFinderInterface
  | {
  |     @PersistenceContext
  |     private EntityManager entityManager;
  | 
  |     @DataModel
  |     private List          categories;
  | 
  |     @RequestParameter
  |     private String        id;
  | 
  |     @Begin
  |     @Factory("categories")
  |     public void initCategories()
  |     {
  |         try
  |         {
  |             //This is a native query which uses a JOIN on several tables
  |             String nativeQuery = "SELECT name, assigned, preferred FROM [...]";
  |             this.categories = entityManager.createNativeQuery(nativeQuery).getResultList();
  | 
  |         } catch (NoResultException e)
  |         {
  |             // ignore
  |         }
  |     }
  | 
  |     @End
  |     public void updateCategory()
  |     {
  |         return;
  |     }
  | 
  |     @Destroy
  |     @Remove
  |     public void destroy()
  |     {
  |     }
  | }
  | 


I tried to stick to the examples in the Seam documentation. Is there any suitable reason why this happens? I've been looking for a solution the wohle day now :(

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4063593#4063593

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4063593



More information about the jboss-user mailing list