山东简谈 简谈JSF与Struts的功能比较[4]
简谈JSF与Struts的功能比较[4]
Backing Beans
![山东简谈 简谈JSF与Struts的功能比较[4]](http://img.zhputi.com/uploads/bf7f/bf7faf75823b41fa51a2a71ac85b510328946.jpg)
对于一个web form 我们可以使用一个bean包含其涉及的所有组件 这个bean就称为Backing Bean Backing Bean的优点是 一个单个类可以封装相关一系列功能的数据和逻辑
说白了 就是一个Javabean里包含其他Javabean 互相调用 属于Facade模式或Adapter模式
对于一个Backing Beans来说 其中包含了几个managed bean managed bean一定是有scope的 那么这其中的几个managed beans如何配置它们的scope呢?
< managed bean>
< managed property>
< property name>visit< /property name>
< value>#{sessionScope visit}< /value>
< /managed property>
这里配置了一个Backing Beans中有一个setVisit方法 将这个visit赋值为session中的visit 这样以后在程序中我们只管访问visit对象 从中获取我们希望的数据(如用户登陆注册信息) 而visit是保存在session还是application或request只需要配置既可
UI界面
JSF和Struts一样 除了JavaBeans类之外 还有页面表现元素 都是是使用标签完成的 Struts也提供了struts faces tld标签库向JSF过渡
使用Struts标签库编程复杂页面时 一个最大问题是会大量使用logic标签 这个logic如同if语句 一旦写起来 搞的JSP页面象俄罗斯方块一样 但是使用JSF标签就简洁优美
< jia:navigatorItem name= inbox label= InBox icon= /images/inbox gif
action= inbox
disabled= #{!authenticationBean inboxAuthorized} />
如果authenticationBean中inboxAuthorized返回是假 那么这一行标签就不用显示
lishixinzhi/Article/program/Java/ky/201311/28960