Actually, a bigger problem is that you're using multiple tabs.
A) As a user, I hate apps like that. It's one of the top 5 ways to lose a sale from me (#1 is auto-playing multi-media with sound).
B) JSF does not come with a way to enforce data integrity when more than one View is displayed at one.
To expand on B, let's say that you have 2 windows/tabs. One is a parent View of a table. The other is the detail (child) view. Because of how HTTP works, if you change detail properties, the parent view will NOT automatically receive updates as it would in a "pure" MVC system (JSF is as pure MVC as you can get for a request/response system, but lacks the ability to asynchronously update Views, because HTTP doesn't permit that. You have to supply user-written AJAX code or something similar).
Worse yet, the stock
J2EE object system doesn't support multiple model instances. If you open up a child edit window and then switch over to the parent table and select a
second child window, you're going to experience major data corruption. That's because the two views are both using the exact same model instance. The HttpSession object that contains session-scope objects is a simple Map where names must be unique and each backing bean is filed under its own name. Even View Scope can't help, since View Scope is essentially just a self-deleting Session object. And don't even
think about using Request Scope or you'll spend the rest of your career fighting vanishing properties.
A View is a presentation of a Model based on a given View Template. It is rendered in a display (window or tab). As with any true MVC system, you can have multiple Views into a Model, although, as I said, JSF cannot automatically refresh displays to keep all of the renditions in sync. So the multiple-View aspect applies only within a single display. For example, a web page containing both a table and a graph of the same Model data. The View itself doesn't contain processing data; that's what the Model is for.