[jboss-user] [JBoss Seam] - Session problems

thierry.rietsch do-not-reply at jboss.com
Tue Jun 12 10:24:19 EDT 2007


Hi

I have a problem with sessions and JBoss Seam. I have a facelet which displays a collection of objects. In the EJB3 bean related to the facelet, I have a the @Factory() annotation which initalizes the collection with the apropriate objects. So far so good.

The objects from the collection get listed in a h:dataTable and I have some s:links after the collection entries, which call a method in another bean and pass the selection.

If I set the Scope of the EJB3 bean which handles the collection to SESSION I can call the foreign method and pass the object. It works. But, if i click on another facelet, and then click back on the origin facelet, the collection doesn't get reloaded. If I change now the Scope to CONVERSATION, the reload of the collection works, but the parameter which is passed to the method (in the s:link) is always null.

How can I handle this problem?


  | @Stateful
  | @Scope(ScopeType.CONVERSATION)
  | @Name("partsListFinder")
  | public class PartsListFinderBean implements PartsListFinder {
  | 	@In(required=false)
  | 	private String			plName;
  | 	
  | 	@DataModel
  | 	private List<PartsList>		partsLists;
  | 
  | 	@PersistenceContext(type=PersistenceContextType.EXTENDED)
  | 	private EntityManager		em;
  | 
  | 	public void findPartsList() {
  | 		partsLists = em.createQuery("from PartsList pl where pl.name like :name")
  | 			       .setParameter("name", plName + '%')
  | 			       .getResultList();
  | 	}
  | 
  | 	@Factory("partsLists")
  | 	public void findPartsLists() {
  | 		partsLists = em.createQuery("from PartsList").getResultList();
  | 	}
  | 
  | 	@Destroy @Remove
  | 	public void destroy() { }
  | }
  | 
  | <h:dataTable value="#{partsLists}" var="pl">
  | 	<h:column><f:facet name="header">Search Job Name</f:facet> #{pl.name}</h:column>
  | 	<h:column>
  | 		<f:facet name="header">Action</f:facet>
  | 		<s:link value="Edit" action="#{partsListEditor.edit(pl)}"/><br />
  | 		<s:link value="View" action="#{partsListViewer.view(pl)}"/>
  | 	</h:column>
  | </h:dataTable>
  | 
  | 

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

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



More information about the jboss-user mailing list