[jboss-user] [JBoss Seam] - Re: Multiple Window/Tabs isolated conversations

h.cahyadi do-not-reply at jboss.com
Mon Feb 26 21:22:40 EST 2007


OK let me give a more complete description

Environment :
- Seam 1.1.1 GA
- Jboss Portal 2.4 GA
- MyFaces 1.1.4 
- OS Win XP

I have an application that manage internal document, and if the number of documents is very large, I perform data paging, so I only display 10 documents per page, the problem is when I login as the same user for two windows/tabs (window A and Window B) and I perform the paging,

 in window A : 
initial status :
displaying 10 documents of 100,  page 1 of 10 

 in window B : 
initial status :
displaying 10 documents of 100,  page 1 of 10 

When I perform first action at window A with pressing next button(I do "go to the next page") the status will be like this :
 Window A : 
displaying 10 documents of 100,  page 2 of 10 

Until last step above, everything is going well, but when I do an action in window B with pressing the next button the status starts to be strange like this :
 Window B : 
displaying 10 documents of 100,  page 3 of 10 

I expect that the status in window A are isolated from window B and vice versa, so when I perform an action in window B, the status that I expect is like this :
 Window B : 
displaying 10 documents of 100,  page 2 of 10 

not jump to third place, I guessed thats because of there are shared state between the two pages, not isolated state. and this is part of my code :


  | @Name("controller")
  | @Scope(SESSION)
  | @Synchronized
  | public class myController implements Serializable {
  | 
  | 	/** Start index */
  | 	@Out(scope = CONVERSATION, required = false)
  | 	private int startIndex;
  | 
  | 	/** Page number */
  | 	@Out(scope = CONVERSATION, required = false)
  | 	private int page;
  | 
  | 	/** Number Of all records */
  | 	@Out(scope = CONVERSATION, required = false)
  | 	private int totalNumberOfResults;
  | 
  | 	/** Total number of pages */
  | 	@Out(scope = CONVERSATION, required = false)
  | 	private int totalNumberOfPages;
  | 
  | 	/** End index */
  | 	@Out(scope = CONVERSATION, required = false)
  | 	private int endIndex;
  | 
  | .......
  | 
  | 	public void pagingNext() {
  | 		totalNumberOfResults = getTotalNumberOfRestults();
  | 		totalNumberOfPages = (totalNumberOfResults % pageSize == 0 ? totalNumberOfResults
  | 				/ pageSize
  | 				: (totalNumberOfResults / pageSize) + 1);
  | 
  | 		page++;
  | 		if (page > totalNumberOfPages - 1) {
  | 			page = totalNumberOfPages - 1;
  | 		}
  | 
  | 		startIndex = page * pageSize;
  | 		endIndex = (page == totalNumberOfPages - 1 ? totalNumberOfResults : startIndex + pageSize);
  | 
  | 	}
  | 	
  | ......
  | 
  | 
  | }
  | 


I hope this description is clear, and I hope somebody outhere can help me

Thanx and Regards,
-haric- 


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

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



More information about the jboss-user mailing list