[jboss-user] [JBoss Seam] - Seam form submission errors

jbrosan do-not-reply at jboss.com
Fri Jul 13 13:18:27 EDT 2007


I am currently experiencing a few problems with submitting form data. I must be missing something some where.

I am using Seam 2.0 BETA 1, JBoss AS 4.2 and Kubuntu 64

The problem is that I am getting the following errors when I submit the form. The action to display a simple list of users works correctly using the name provided to seam. Did I miss something when setting up my class methods?

Jboss Errors:

  | Caused by: javax.ejb.EJBTransactionRolledbackException: Could not get property value...
  | 


  | Caused by: java.lang.IllegalArgumentException: Invoking setPassword with wrong parameters...
  | 

I have setup the entity as follows


  | import ...
  | 
  | @Entity
  | @Table(name = "Users")
  | @Name("user")
  | public class UserImpl implements User
  | {...
  | 

Here is the setPassword method


  |     @NotNull
  |     @Length(min=3, max=15)    
  |     public void setPassword(String password)
  |     {
  |         this.password = password;
  |     }
  | 


I have a simple form...



  | <!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.ajax4jsf.org/rich"
  |                 template="/layout/template.xhtml">
  |                 
  | <ui:define name="body">
  |    		<h:form>
  |      		<table border="0">
  | 
  |          		<tr>
  |            			<td>Username</td>
  |            			<td><h:inputText value="#{user.userName}"/></td>
  |          		</tr>
  |          		<tr>
  |            			<td>First Name</td>
  |            			<td><h:inputText value="#{user.firstName}"/></td>
  |          		</tr>
  |          		<tr>
  |            			<td>Last Name</td>
  |            			<td><h:inputText value="#{user.lastName}"/></td>
  |          		</tr>
  |         		
  |          		<tr>
  |            			<td>Password</td>
  |            			<td><h:inputSecret value="#{user.password}"/></td>
  |          		</tr>
  | 
  |      		</table>
  |      <h:commandButton type="submit" value="Add User" action="#{useraction.addUser}"/>
  |    </h:form>
  | 
  | </ui:define>
  | </ui:composition>                
  | 

The addUser method in the UserActionImpl class


  | 	public String addUser()
  | 	{
  | 		
  | 		em.persist(user);
  | 		
  | 	      List existing = em.createQuery("select userName from UserImpl where userName=:userName").setParameter("userName", user.getUserName()).getResultList();
  | 	      
  | 	      if (existing.size()==0)
  | 	      {
  | 	        em.persist(user);
  | 	        //log.info("Registered new user #{user.username}");                               
  | 	         return "/admin/user/userlist.xhtml";                                                       
  | 	      }
  |         else
  | 	      {
  | 	         FacesMessages.instance().add("User #{user.userName} already exists");          
  | 	         return null;
  | 	      }
  | 	}
  | 


I think I have everything setup correctly. Nothing fancy going on here just working through the basics.

Any assistance would be most appreciated.

Thank you,
John


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

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



More information about the jboss-user mailing list