Scott,
To address the bean-to-bean issue, you use the faces-config.xml file to bind beans together. like UserBean will use DAOBean let’s say. If you have a “dao” property on your UserBean, in your faces-config file, you would set the “dao” property, using an expression of something like #{daoBean} in the XML itself, and this value is read, interpreted, and injected at run time with the instantiated DAOBean (my notation might be off, just look into setting values for beans in the config file, there is away to set dynamic values). Or a lot of people will just say “that’s what Spring is for”, either way works fine.
As far as Views tied to Beans, I don’t quite understand the question. Any JSF page you write will likely have expressions in it that pulls values from it’s beans. So there is no way to avoid this relationship… like inside of your Profile.jsp page, you may have code like:
Welcome #{SessionBean.firstName}, you last logged in on #{SessionBean.lastLogin}. There are #{ApplicationBean.userCount} other users on the system right now.
So I’m not sure what your questions is actually concerning, but if you mean here like “how do I not couple the Profile.jsp page and the beans above”, then I have no idea. You have to.