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
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user