All +
All -
login-ajax
- 读书提示
- 在前面案例中记录过的知识点,这里不再描述
- 文章中涉及到的案例代码,可到清华大学出版社网站上下载
- 读书分层记录描述
- 第一层面:视图层
- 从页面index.xhtml开始
- 标签HTML
- 特性
- xmlns:f="http://java.sun.com/jsf/core"
- 指定jsf的核心标签库core
- 指定该标签库的引用符号:h
- xmlns:f="http://java.sun.com/jsf/core"
- 特性
- JSF HTML标签
- h:form
- 特性
- prependId="false"
- 该特性的值为false,指定该表单内部的所有组件的ID都不需要程序自动生成
- 该特性的默认值为true
- 该设置决定了,此表单的全部组件都需要设定特性id的值
- prependId="false"
- 特性
- h:inputText
- 特性
- id="name"
- value="#{user.name}"
- 有关知识,请参见“第二层面”
- 特性
- h:inputSecret
- 特性
- id="password"
- value="#{user.password}"
- 有关知识,请参见“第二层面”
- 特性
- f:ajax
- 特性
- execute="name password"
- 该特性指定要“执行”的组件标识,当父组件被激活时
- render="out"
- 该特性指定其父组件激活时,“执行”指定的组件后,要去渲染那个标识为“out”的组件
- execute="name password"
- 父标签
- h:commandButton
- 使用过程说明
- 当用户点击“Login”按钮时,不提交表单
- 先“执行”execute特性指定的组件name 和password上的内容
- 然后,按照render特性指定的组件out去调用管理bean的getGreeting方法,把结果发送到客户端
- 在客户端的页面文件中,把上面运算结果拼接到“调用管理bean的getGreeting方法”的地方,就可以显示出来,其它内容不变
- 特性
- h:outpuText
- 特性
- id="out"
- 指定该组件的标识
- 以便在其它位置使用该组件时用
- value="#{user.greeting}"
- 有关知识,请参见“第二层面”
- id="out"
- 特性
- h:form
- 标签HTML
- 从页面index.xhtml开始
- 第二层面:页面后台管理bean
- 后台管理bean的实例对象:user
- 在index.xhtml中,在组件特性中使用管理bean
- + -value="#{user.name}"
- 管理bean user访问其属性name的值
- + -该表达式应用在“输入文本”组件上时,访问的是属性的设置方法
- 名称:setName()
- 参数:输入的文本
- value="#{user.password}"
- 管理bean user访问其属性password的值
- + -该表达式应用在“输入文本”组件上时,访问的是属性的设置方法
- 名称:setPassword()
- 参数:输入的文本
- value="#{user.greeting}"
- 管理bean user访问其属性greeting的值
- 实际上,访问的是该属性的读或写方法
- 如果不存在该属性,可访问对象中的同名方法(形式如:greeting())
- 如果不存在该属性,也不存在同名方法,则
- + -如果当前组件是“输入文本”组件,可访问该属性的获取方法
- getGreeting()
- + -如果当前组件是“输入文本”组件,可访问该属性的获取方法
- 管理bean user访问其属性greeting的值
- + -value="#{user.name}"
- 第一层面:视图层