Simple HelloWorld not running
coolex Jun 18, 2008 12:49 PMHello!
I'm trying to start working with SEAM.
I wrote this simple person class
package com.test;
import java.io.Serializable;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import org.hibernate.annotations.Entity;
import org.jboss.seam.annotations.Name;
@Entity
@Name("person")
public class Person implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
private long id;
private String name;
@Id
@GeneratedValue
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}This java file I simply created in the src/model directory.
Then I created this file (ManagerAction.java):
package com.test;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Out;
import com.test.Person;
@Stateless
@Name("manager")
public class ManagerAction implements Manager {
@In
@Out
private Person person;
@Out
private List<Person> fans;
@PersistenceContext
private EntityManager em;
public String sayHello() {
em.persist(person);
person = new Person();
fans = em.createQuery("select p from Person p").getResultList();
return null;
}
}And this Interface (Manager.java):
package com.test;
import javax.ejb.Local;
@Local
public interface Manager {
public String sayHello ();
}
At least I created this xhtml file:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets">
<head>
<link href="stylesheet/theme.css" rel="stylesheet" type="text/css" />
<title>Register New User</title>
</head>
<h:form>
Please enter your name:<br/>
<h:inputText value="#{person.name}" size="15"/><br/>
<h:commandButton type="submit" value="Say Hello"
action="#{manager.sayHello}"/>
</h:form>
<h:dataTable value="#{fans}" var="fan">
<h:column>
<h:outputText value="#{fan.name}"/>
</h:column>
</h:dataTable>
</html>Ok, I deployed it and can enter the screen and see the form but after submitting I get the debug page with this error:
Caused by javax.servlet.ServletException with message: "/helloworld.xhtml @12,49 value="#{person.name}": Target Unreachable, identifier 'person' resolved to null"Why it cannot resolve person? It is there!
Hope you can help me.
Thanks.