JSF---->Managed Beans
来源:互联网 发布:常见网络接口 编辑:程序博客网 时间:2024/05/22 09:02
JSF 使用 Bean 来达到逻辑层与表现层分离的目的
一、Backing Beans
JSF使用 JavaBean 来达到程式逻辑与视图分离的目的,在JSF中的Bean其角色是属于Backing Bean,又称之为Glue Bean,其作用是在真正的业务逻辑Bean及UI元件之间搭起桥樑,在Backing Bean中会呼叫业务逻辑Bean处理使用者的请求,或者是将业务处理结果放置其中,等待UI元件取出当中的值并显示结果给使用者。
JSF将Bean的管理集中在faces-config.xml中,一个例子如下:
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页面上使用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表示语言
二、Beans 上的 List, Map
如果您的Bean上有接受List或Map型态的属性,则您也可以在组态档案中直接设定这些属性的值
<managed-bean> <managed-bean-name>someBean</managed-bean-name> <managed-bean-class> onlyfun.caterpillar.SomeBean </managed-bean-class> <managed-bean-scope>session</managed-bean-scope> <managed-property> <property-name>someProperty</property-name> <list-entries> <value-class>java.lang.Integer</value-class> <value>1</value> <value>2</value> <value>3</value> </list-entries> </managed-property> </managed-bean>
这是一个设定接受List型态的属性,我们使用<list-entries>卷标指定将设定一个List对象,其中<value-class>指定将存入List的型态,而<value>指定其值,如果是基本型态,则会尝试使用指定的 <value-class>来作Wrapper类别。
<managed-bean> <managed-bean-name>someBean</managed-bean-name> <managed-bean-class> onlyfun.caterpillar.SomeBean </managed-bean-class> <managed-bean-scope>session</managed-bean-scope> <managed-property> <property-name>someProperty</property-name> <map-entries> <value-class>java.lang.Integer</value-class> <map-entry> <key>someKey1</key> <value>100</value> </map-entry> <map-entry> <key>someKey2</key> <value>200</value> </map-entry> </map-entries> </managed-property> </managed-bean>
由于Map对象是以key-value对的方式来存入,所以我们在每一个<map-entry>中使用<key>与<value>标签来分别指定。
- JSf Managed Beans (2)
- JSF---->Managed Beans
- JSF学习笔记四-Managed Beans
- JSF学习笔记之Managed Beans
- JSF入门八(Managed Beans)
- Configure Managed Beans in JSF 2.0
- Injecting Managed beans in JSF 2.0
- jsf、Spring、Hibernate 集成 faces-managed-beans.xml 配置
- Improving JSF Security Configuration With Secured Managed Beans
- Managed Beans
- Managed Beans
- How to reference JSF managed beans which are provided in a JAR file?
- JSF Managed Bean
- JSF Gossip: Backing Beans
- 在Spring Beans中的JSF
- JSF days 2009 - Web Beans
- 【JSF小记】Managed bean中获取JSF标签自定义属性
- JSF Gossip: Beans 的组态与设定
- Slope One个性化推荐算法核心思想
- JSF---->国际化讯息
- 嵌入式系统多功能按键底层驱动设计
- 常用电阻电容标称值
- windbg符号路径设置
- JSF---->Managed Beans
- 动态分配内存(学习笔记11)
- OA办公系统成功实施的五大建议
- Nginx源码分析-master和worker进程间的通信
- JSF---->标准转换器(Converter)
- 一个简单的游戏服务器框架
- libstdc++版本冲突的解决
- JSF---->自订转换器
- 怎样理解LR的pacing和think time