[jboss-user] [JBoss Seam] - Beginner Question

drab do-not-reply at jboss.com
Tue Jun 12 12:02:03 EDT 2007


Hi,

I'm trying for a few days now to get the most basic things to work with Seam, but I fail miserably. I'm highly frustrated and of course try to find the missing piece of information here that I'm apparently lacking to get this to work.

I created a project with seam-gen and added a page register.xml that contains this:


  |         <h:form id="registerForm" rendered="#{userRegistration.account==null}">
  | 
  |             <h:outputLabel for="realName">name:</h:outputLabel>
  |              <h:inputText value="#{userRegistration.account.realName}" size="30" id="realName"/><br/>
  |             <h:outputLabel for="email">email: </h:outputLabel>
  |              <h:inputText value="#{userRegistration.account.email}" id="email" size="30"/><br/>
  |             <h:commandButton type="submit" value="register" action="#{userRegistration.register}"/>
  |         
  |         </h:form>
  |         
  |         
  |         <h:form id="otherForm" rendered="#{userRegistration.account!=null}">
  |            you have been registered as #{userRegistration.account.realName}. You should receive an email with your password.
  |         </h:form>
  | 
  | 

I have my LoginAccount entity:




  | @Entity
  | @Name("LoginAccount")
  | public class LoginAccount implements Serializable {
  | 
  | 
  |     @Id
  |     @GeneratedValue
  |     protected int id;
  |     protected String realName;
  |     @Email
  |     protected String email;
  | 
  |     public LoginAccount() {
  | 
  |     }
  | ...+setter and getters
  | 

and I have my "userRegistration" session bean:


  | @Stateful
  | @Name("userRegistration")
  | @Scope(ScopeType.SESSION)
  | public class RegistratorAction implements Registrator {
  | 
  | 
  |     @Logger
  |     private Log log;
  | 
  |     @In @Out
  |     public LoginAccount account;
  | 
  |     @PersistenceContext(type = EXTENDED)
  |     private EntityManager em;
  | 
  | 
  |     public String register() {
  | 
  |         log.info("persisting #0", account.toString());
  |         em.persist(account);
  |         return null;
  |     }
  | 

but when I click on the link to this page, I get following error:

/register.xhtml @19,80 rendered="#{userRegistration.account==null}": Bean: org.javassist.tmp.java.lang.Object_$$_javassist_39, property: account
  | 

so I changed all occurences of "userRegistration.account" into "account" thinking it might be in a global context. Now, the site displays and I can enter my name and email. But when I press the submit button, nothing happens. "register()" is not called on the Session, and neither "getRealName()" or "setRealName()" of the entity are called.

Could somebody give me a hint what I'm doing wrong? I'm pretty frustrated that I can't even get a helloWorld-type application to work.

thanks
Dirk

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

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



More information about the jboss-user mailing list