[jboss-user] [JBoss Seam] - outject problem
laxu
do-not-reply at jboss.com
Mon Feb 19 11:06:47 EST 2007
I already (http://www.jboss.com/index.html?module=bb&op=viewtopic&t=101517) had asked this in this forum and I could not solve the problem yet. Here I have downsized my dummy app to even simpler and it still cannot outject. I must be missing or misunderstanding something fundamental.
I have the entity bean Organization:
@Entity
| @Name("organization")
| public class Organization implements Serializable {
|
| @TableGenerator(name="organizationGenerator")
| @Id
| @GeneratedValue(strategy=GenerationType.TABLE,generator="organizationGenerator")
| private Long id;
|
| private String name;
| private String description,address;
| private boolean deleted=false;
|
| @Temporal(TemporalType.DATE)
| private Date startUpDate;
| public Organization() {
| name="unnamed";
| }
|
| public Long getId() {
| return this.id;
| }
|
| public void setId(Long id) {
| this.id = id;
| }
|
| @Override
| public int hashCode() {
| int hash = 0;
| hash += (this.id != null ? this.id.hashCode() : 0);
| return hash;
| }
|
| @Override
| public boolean equals(Object object) {
| // TODO: Warning - this method won't work in the case the id fields are not set
| if (!(object instanceof Organization)) {
| return false;
| }
| Organization other = (Organization)object;
| if (this.id != other.id && (this.id == null || !this.id.equals(other.id))) return false;
| return true;
| }
|
| @Override
| public String toString() {
| return "[id=" + id + ":"+ name +"]";
| }
|
| ... standart getters and setters follow ...
|
A stateful session bean
| @Stateful
| @Name("testAction")
| public class TestActionBean implements TestActionLocal {
|
| @Out
| Organization organization;
|
| public TestActionBean() {}
|
| @Begin
| public String go(){
| organization=new Organization();
| organization.setName("Tester");
| return "org";
| }
|
| @End
| public String stop(){
| return "test";
| }
|
| @Remove @Destroy
| void destroy(){}
| }
one initial page, only for calling the action bean:
test.xhtml
| <?xml version='1.0' encoding='UTF-8' ?>
| <!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:ui="http://java.sun.com/jsf/facelets"
| xmlns:h="http://java.sun.com/jsf/html"
| template="listTemplate.xhtml">
|
| <ui:define name="content">
| <h:form>
| <h:commandButton value="Go" action="#{testAction.go}" />
| </h:form>
| </ui:define>
|
| </ui:composition>
|
and another one that is navigated when "org" is returned:
org.xhtml
| <!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:ui="http://java.sun.com/jsf/facelets"
| xmlns:h="http://java.sun.com/jsf/html"
| xmlns:f="http://java.sun.com/jsf/core"
| template="listTemplate.xhtml" >
|
| <ui:define name="content">
| <h:form>
| <h:outputLabel value="Name:" /> <h:inputText value="#{organization.name}"/>
| </h:form>
| </ui:define>
|
|
| </ui:composition>
I construct a new "Organization" at the method "go" and set its "name" property to "tester". I expect it to show up in the "org.xhtml", but instead "unnamed" shows up, which is assigned in the default constructor of "Organization". The instance I assigned at the "go" method is ignored and another instance is outjected.
Where am I wrong?
Regards,
Levent
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4018895#4018895
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4018895
More information about the jboss-user
mailing list