Java Server Faces(JSF)的关键(一)
注:
其实JSF不难的,只要把它分解出来,你会发现,其实也比较简单。
1.布局方面(UI界面):
-
在布局方面,其实就是 HTML 和 JSF 里面的 XHTML 的嵌套使用;(只要学过html,布局都是小事,不过这个不是核心) 嵌套,比如这样:
<h:form> <tr> <td align="left"><p style="color:#ffffff">Id:</p></td> <td align="left"><h:inputText size="20"></h:inputText></td> </tr> <tr> <td align="left"><p style="color:#ffffff">Password:</p></td> <td align="left"><h:inputSecret size="21"></h:inputSecret></td> </tr> <tr> <td align="cnter"><h:commandButton value="submit" /></td> <td align="center"><h:commandButton value="reset" type="reset" /></td> </tr> </h:form>
2.定义自己的受管Bean (说白了,其实就是一个java类):
- 比如:
package com.myTest; public class PrivateClass { private int x; //对x进行封装。对外提供一个方法,以供别人使用; public int getX() { return x; } public void setX(int x) { this.x = x; } }
3.配置受管Bean(主要有两种方式):
-
使用 Faces-Config.xml 配置文件来进行配置
<managed-bean> <managed-bean-name> Bean-name </managed-bean-name> <managed-bean-class> Bean-class </managed-bean-class> <managed-bean-scope> Bean-scope </managed-bean-scope> </managed-bean>
< managed-bean-scope >设定Bean的存活范围,您可以设定为request、session 与application,设定为request时,Bean的存活时间为请求阶段,设定为session则在使用者应用程序交互开始,直到关闭浏览器或显式的结束会话为止(例如登出程序),设定为application的话,则Bean会一直存活,直到应用程序关闭为止(session和application的区别不是太懂),还可以设置为:view,coversation,flow;
-
使用批注 来进行配置
@Named("bean-name") //这里是受管bean的名称; @SessionScoped //这里只是举例来说明配置的bean的作用域范围为会话,其他作用域以此类推;
4.绑定受管Bean (和 UI 组件进行绑定(使用JSF EL)):
-
EL 又分为 值表达式 和 方法表达式;
值表达式语法:
#{bean_name.property_name}
举例:
<h:inputText value="#{customer.name}" />
方法表达式语法:
#{bean_name.method_name}
举例:
<h:inputText value="#{customer.name}" validator="#{customer.validateName}" />
-
小技巧:受管 bean 里面的属性就是 UI 组件里面用户输入的数据的映射