JSF-受管Bean与EL表达式
受管Bean与EL表达式
1)编写Bean:①有一个不带形参的构造方法 ②getXxx、setXxx ③一般要实现io.Serializable接口
2)声明受管Bean:①bean名称为外界访问其属性和调用方法的渠道,在一个jsf应用中,每个bean的名称都是唯一的
②bean类名:由报名限制的完整类名
③作用域:用来指定bean的生命周期,包括应用(application)、会话(session)、视图(view)、请求(request)、无(none),它们在配置文件中需要声明。
用java标注声明,例如:
package beans;
@ManagedBean(name="me")
@RequestScoped //或@ApplicationScoped/@SessionScoped/@ViewScoped/@NoneScoped视情况而定
public class UserBean{}
配置文件声明:
<managed-bean>
<managed-bean-name>me</managed-bean-name>
<managed-bean-class>beans.UserBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
备注:无(none)会在 使用时随时创建
3)生命周期方法:指定在bean创建之后和销毁之前自动调用的方法:分别用@PostConstruct和@PreDestroy声明
4)初始化受管Bean(在<managed-bean>中设置)
①简单的属性设置
<managed-porperty>
<property-name>name</property-name>
<value>louby</value>
</managed-property>
<!--以上就是一个属性的设置-->
<property-name>pw</property-name>
<null-value/>
</managed-property>
②初始化List型属性(单词entry为登记的意思)
<managed-property><property-name>names</property-name>
<list-entries>
<value-class>java.lang.String</value-class><!--value中使用的字符类-->
<value>liu</value>
<value>zhao</value>
<value>wang</value>
</list-entries>
</managed-property>
③初始化Map型属性(在<managed-property>中)省略属性名如下:
<map-entries>
<key-class>java.lang.String</key-class>
<value-class>java.lang.Integer</value-class>
<map-entry>
<key>101</key>
<value>1</value>
</map-entries>
...其他属性设置
</map-entries>
5)List和Map型的受管bean配置:
<managed-bean>
<managed-bean-name>names</managed-bean-name>
<managed-bean-class>java.util.ArrayList</managed-bean-class>
<managed-bean-scope>application</managed-bean-scope>
<list-entries>
<value>liu</value>
<value>zhao</value>
<value>wang</value>
</list-entries>
</managed-bean>
6)值表达式
①一般出现在页面中,用于访问bean的属性
<h:inputText value="#{user.name}"/>
user.name=user["name"]=user['name']
②复合表达式:若干值表达式
<h:outputText value-"姓名:#{user.name},年龄:#{user.age}"/>
③方法表达式:指定一个对象及其一个方法
<h:commandButton action="#{user.checkPassword}"/>
以下4个组件可以设置一个表达式:
action、validator、actionListener、valueChangeListener
JSF-受管Bean与EL表达式的更多相关文章
- Spring 在 xml配置文件 或 annotation 注解中 运用Spring EL表达式
Spring EL 一:在Spring xml 配置文件中运用 Spring EL Spring EL 采用 #{Sp Expression Language} 即 #{spring表达式} ...
- JSF页面中的JS取得受管bean的数据(受管bean发送数据到页面)
JSF中引入jsf.js文件之后,可以拦截jsf.ajax.request请求.一直希望有一种方法可以像jquery的ajax一样,能在js中异步取得服务器端发送的数据.无奈标准JSF并没有提供这样的 ...
- JAVAWEB开发之Session的追踪创建和销毁、JSP具体解释(指令,标签,内置对象,动作即转发和包括)、JavaBean及内省技术以及EL表达式获取内容的使用
Session的追踪技术 已知Session是利用cookie机制的server端技术.当client第一次訪问资源时 假设调用request.getSession() 就会在server端创建一个由 ...
- java web学习总结(三十一) -------------------EL表达式
一.EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数 ...
- Spring2.0-applicationContext.xml中使用el表达式给实体类属性赋值被当成字符串-遁地龙卷风
(-1)写在前面 这两天读<javaweb开发王者归来>,学到Spring的PropertyPlaceholderConfigurer时出现一个问题,我已${jdbc.name}的形式赋值 ...
- Javaweb学习笔记——EL表达式
一.前言 EL表达式是什么? 简而言之,可以这样理解,EL表达式全名为:Exprexxsion Language,原先是JSTL 1.0为了方便存取数据而定义的语言,到了JSTL 2.0便正式成为标准 ...
- JSP EL表达式
1 EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数 ...
- EL表达式和JSTL
EL相关概念JSTL一般要配合EL表达式一起使用,来实现在jsp中不出现java代码段.所以我们先来学习EL表达式 EL主要用于查找作用域中的数据,然后对它们执行简单操作:它不是编程语言,甚至不是脚本 ...
- EL表达式中fn函数 (转载)
JSTL 使用表达式来简化页面的代码,这对一些标准的方法,例如bean的getter/setter方法,请求参数或者context以及 session中的数据的访问非常方便,但是我们在实际应用中经常需 ...
随机推荐
- 【翻译】Sencha Cmd中脚本压缩方法之比较
概述 为什么要修改默认设置 YUI压缩 Google Closure编译器 UglifyJS 案例研究Ext JS 6示例应用程序 注意事项 自定义JS压缩 小结 概述 这么多年来,Web开发人员都被 ...
- (三十三)UIApplicationDelegate和程序的启动过程
移动操作系统有个致命弱点,是app容易受到干扰(来电或者锁屏). 当app受到干扰时,会产生一系列的系统事件,这时UIApplication会通知其delegate对象,让delegate处理系统事件 ...
- Ionic APP-Web SPA开发进阶(一)AngularJS全栈工程狮进阶
AngularJS全栈工程狮进阶 前言 学习了一段时间AngularJS,开始接触移动端APP开发.为了响应公司开发需求,采用"Hybrid"混血开发方法.采用Ionic前端框架, ...
- Python学习笔记 - 迭代器Iterator
我们已经知道,可以直接作用于for循环的数据类型有以下几种: 一类是集合数据类型,如list.tuple.dict.set.str等: 一类是generator,包括生成器和带yield的genera ...
- hadoop上的C++程序开发
hadoop可以用C++开发,命令运行方式为pipes,例子:hadoop pipes -conf job_config.xml -input input/myfile.txt -output out ...
- Android的fuzz测试技术之符号执行浅谈-android学习之旅(82)
简单的漏洞越来越少,需要改进目前的方法 : 通过符号执行,得出执行路径,然后在进行fuzzy是较为有效的方法之一 1)为待测单元自动地生成可到达的测试数据,即提高测试目标的覆盖率 2)根据特定的漏洞模 ...
- SpriteBuilder添加的TrueType字体未显示在log中的原因分析
按照书上的说法,在SpriteBuilder中添加的TrueType字体名称会在枚举字体方法显示的log中出现.但是运行程序后没有在log中发现对应的字体名称. 因为该字体是例子中作者制作的,所以字体 ...
- 关于使用Xcode自带的单元测试UnitTest的介绍
什么是单元测试? 单元测试就是为你的方法专门多写一个测试函数.以保证你的方法在不停的修改开发中.保持正确.如果出错,第一时间让你知道,这样从最小单位开始监控来保证软件的质量. 什么时候用到单元测试: ...
- 基于ARM-contexA9蜂鸣器驱动开发
上次,我们写了一个LED的驱动程序,这一节,我们只需稍微改动一下就可以实现蜂鸣器的驱动,让我们来看看吧. 还是跟之前一样,先找电路图,找到电路板上对应的引脚和相关联的寄存器. 1.看电路图 (1)蜂鸣 ...
- androd输入管理系统机制解析
android的输入管理系统主要完成按键.触摸板.鼠标等输入设备的事件输入,功能包括,输入设备的事件输入及向焦点窗口和焦点视图的事件派发,事件的插入,事件的过滤,事件的拦截等功能. 整个输入系统 ...