The problem is that request objects exists only for the life of that particular request. It's especially a problem when working with tables, since the table model (and its cursor) is used to display the table, but no longer exists when you want to work with a row in the table.
The solution is to use session scope. As a rule,
JSF does require more items to be in session scope than other
J2EE frameworks.