It's exactly CRUD what I'd like to do. I used Seam-gen to setup the project and to create my forms (originaly). here us my current code (slightly simplified) *** person.java *** @Entity @Name("person") public class person implements Serializable { private Long id; private String name; private String firstName; @Id @GeneratedValue public Long getId() {..} public void setId(Long id) {..} @Length(min=3, max=120) public String getName() {..} public void setName(String name) {..} public String getFirstName() {..} public void setFirstName(String firstName) {..}
*** PersonManagerBean.java *** @Stateful @Scope(ScopeType.SESSION) @Name("personManager") public class PersonViewerBean implements PersonManager { @Logger private Log log; @In(required=false) @Out private List personList; @DataModel private List personsDataModel; @DataModelSelection @Out(required=false) private Person person; @PersistenceContext(type=PersistenceContextType.EXTENDED) private EntityManager em; @Factory("personsDataModel") public void findPersons() { personsDataModel = em.createQuery("from Person r order by r.name desc").getResultList(); personList = personssDataModel; } @Remove @Destroy public void destroy(){} } *** EditPersonBean *** @Stateful @Name("editperson") public class EditpersonBean implements Editperson { @Logger private Log log; @PersistenceContext(type=PersistenceContextType.EXTENDED) private EntityManager em; @In FacesMessages facesMessages; @In(required=false) @Out private Person person; @In @Out private List personList; @Begin public void newPerson() { person = new person(); } @End public void savePerson() { List existing = new ArrayList(); existing = em.createQuery("select name from Person where name=#{person.name}").getResultList(); if (existing == null || existing.size() == 0) { em.persist(person); personList.add(person); } else { facesMessages.add("a person with this name already exists! (name=#{person.name})"); } } @End public void updateperson() { em.persist(person); } @Begin public void editperson(person r) { this.person = em.merge(r); } public person getperson() { ..} public void setperson(person person) {...} @Remove @Destroy public void destroy(){} } ****** view.xhtml ****** ... <rich:panel> <f:facet name="header">Welcome!</f:facet> MY PERSON: <h:outputText value="nothing to display" rendered="#{personsDataModel.rowCount==0}" /> <h:dataTable var="person" value="${personsDataModel}" rendered="#{personsDataModel.rowCount>0}"> <h:column> <f:facet name="header"> <h:outputText value="Name" /> </f:facet> <h:commandLink value="#{person.name}" action="#{personManager.select}" /> <!-- action does nothing --> </h:column> <h:column> <f:facet name="header"> <h:outputText value="Vorname" /> </f:facet> <h:commandLink value="#{person.firstName}" action="#{personManager.select}" /> </h:column> <h:column> <s:link id="editperson" value="edit" action="#{editperson.editPerson(person)}" /> </h:column> </h:dataTable> <h:commandButton value="refresh" action="#{personManager.findPersons}" /> <h:commandButton value="new entry" action="#{editperson.newPerson}" /> <h3><h:outputText value="#{rower.email}" /></h3> </rich:Panel> ... ***** edit.xhtml **** .... <rich:panel> <f:facet name="header">editPerson</f:facet> <s:decorate id="firstnameDecoration" template="layout/edit.xhtml"> <ui:define name="label">Vorname</ui:define> <h:inputText id="firstname" required="false" value="#{person.firstName}" /> </s:decorate> <s:decorate id="nameDecoration" template="layout/edit.xhtml"> <ui:define name="label">Name</ui:define> <h:inputText id="name" required="true" value="#{person.name}"/> </s:decorate> ... *************************** Logging, Comments, some other stuff was left out. when pressing the 'new' or 'edit' Button a new conversation starts and my List (personList) is copied into the conversation-context. At the end of the conversation I'd like to copy it back to the Session.personList. How? possible? did I missunderstand something? thanks Daniel View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4062623#4062623 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4062623 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user