JSF Gossip: Backing Beans
2010-12-25 18:43
141 查看
JSF使用 JavaBean 来达到程式逻辑与视图分离的目的,在JSF中的Bean其角色是属于Backing Bean,又称之为Glue Bean,其作用是在真正的业务逻辑Bean及UI元件之间搭起桥梁,在Backing Bean中会呼叫业务逻辑Bean处理使用者的请求,或者是将业务处理结果放置其中,等待UI元件取出当中的值并显示结果给使用者。
JSF将Bean的管理集中在faces-config.xml中,一个例子如下:
....
<managed-bean>
<managed-bean-name>user</managed-bean-name>
<managed-bean-class>
onlyfun.caterpillar.UserBean
</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
....
这个例子我们在 第一个JSF程式 看过,<managed-bean-class>设定所要使用的Bean类别,<managed-bean-name>设定之名称,可供我们在JSF页面上使用Expression Language来取得或设定Bean的属性,例如:
<h:inputText value="#{user.name}"/>
<managed-bean-scope>设定Bean的存活范围,您可以设定为request、session 与application,设定为request时,Bean的存活时间为请求阶最,设定为session则在使用者应用程式交互开始,直到关闭浏览器或 显式的结束会话为止(例如登出程式),设定为application的话,则Bean会一直存活,直到应用程式关闭为止。
您还可以将存活范围设定为none,当设定为none时会在需要的时候生成一个新的Bean,例如您在一个method中想要生成一个临时的Bean,就可以将之设定为none。
在JSF页面上要取得Bean的属性,是使用 JSF表示语言(Expression Language),要注意到的是,JSF表示语言是写成 #{expression},而 JSP 表示语言 是写成 ${expression},因为表示层可能是使用JSP,所以必须特别区分,另外要注意的是,JSF的标签上之属性设定时,只接受JSF表示语言。
JSF将Bean的管理集中在faces-config.xml中,一个例子如下:
....
<managed-bean>
<managed-bean-name>user</managed-bean-name>
<managed-bean-class>
onlyfun.caterpillar.UserBean
</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
....
这个例子我们在 第一个JSF程式 看过,<managed-bean-class>设定所要使用的Bean类别,<managed-bean-name>设定之名称,可供我们在JSF页面上使用Expression Language来取得或设定Bean的属性,例如:
<h:inputText value="#{user.name}"/>
<managed-bean-scope>设定Bean的存活范围,您可以设定为request、session 与application,设定为request时,Bean的存活时间为请求阶最,设定为session则在使用者应用程式交互开始,直到关闭浏览器或 显式的结束会话为止(例如登出程式),设定为application的话,则Bean会一直存活,直到应用程式关闭为止。
您还可以将存活范围设定为none,当设定为none时会在需要的时候生成一个新的Bean,例如您在一个method中想要生成一个临时的Bean,就可以将之设定为none。
在JSF页面上要取得Bean的属性,是使用 JSF表示语言(Expression Language),要注意到的是,JSF表示语言是写成 #{expression},而 JSP 表示语言 是写成 ${expression},因为表示层可能是使用JSP,所以必须特别区分,另外要注意的是,JSF的标签上之属性设定时,只接受JSF表示语言。
相关文章推荐
- JSF Gossip: 错误讯息处理
- JSF Gossip: 导航规则设置
- JSF Gossip: JSF Expression Language
- JSF Gossip: 国际化讯息
- JSF Gossip: Beans 的组态与设定
- JSF Gossip: 动作事件
- JSF Gossip: Beans 上的 List、Map
- JSF Gossip: 标准转换器
- JSF Gossip: 自订转换器 - 总结版
- Gossip
- jsf基础使用方法__hnyufushan@qq.com
- JSF项目启动时报错:javax.servlet.ServletException: Cannot find FacesContext
- JSF,Hibernate,Spring的整合与杂谈
- spring mvc vs jsf
- Qt4 Gossip: Model 與 View 類別
- JSF2自定义组件编程系列 第四部分
- 简述JSF测试框架
- Facelets 非常适合 JSF
- jsf 的导航演示(navigation)
- Jsf国际化