At the very least, that value would have to be in the session. Everytime you navigate a new request is created, thereby creating a new backing bean. This is just basic
J2EE.
JSF handles repopulating values when a request doesn't navigate from the page. For example, when you press a button that uses the actionListener attribute, JSF knows that even though the scope is request, it needs to save the values and repopulate the backing bean accordingly because you aren't navigating away from the page.