JSF项目的整体执行流程,首先分为三层,modle层,srevice层,view层
Modle层存放实体类用于连接后台数据库好实现持久化操作。
Service层主要实现具体的功能方法,包裹增删改查或更复杂的方法以及关联modle层操作数据库。一般先定义一个接口不写具体逻辑代码,在同包下的Impl里继承接口来写具体的代码便于被调用。
View层是JSF前台和后台数据交换的地方,在View层里写Bean类,一个前台页面对应一个Bean类。在Bean里调用Service的方法,可以给前台页面所需要的数据,或拿到前台传过来的数据好执行Service的方法。
转换器的实现以及思路,转换器是一个自定义的方法,主要用于在前台和Bean之间进行数据交换时需要显示其他实体类的数据时使用,具体实现就是从前台获取到转换器所需要的值,转换器拿到值调用Service方法查询并把结果在返还给页面的一种操作。当然也可以给转换器传一个实体进行操作,具体要看需求的是什么,然后自己写转换器实现。
Beam的分类是一种规范,由一个页面对应一个Bean来实现,主要便于代码的管理和后去维护方便
Ajax的使用是一种常见的页面刷新效果,全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML);是指一种创建交互式网页应用的网页开
P标签的ajax直接指定后台方法实现数据更新
<p:ajax event="监听"
listener="#{Bean.方法}" update="执行更新标签的ID" />
css的问题:JSF项目中的css很重要重要了,刚开始使用JSF不是很习惯JSF基于块结构开发页面,因为JSF注意的是展现的内容,而不是展现的样式,这是完全符合w3开发html的初衷,使用<table><tr><td>来做页面展现布局,其实是错误已久的方法,如果在JSF中能了解如何使用css进行布局,JSF还是有复杂页面实现的功能。
JSF中重要的前台框架PrimeFaces: PrimeFaces是一套开元的JSF组件,拥有上百种AJAX的JSF组件,PrimeFaces的主要目标是为JSF创建组件集。
小结PrimeFaces的一些优势1:组件式,拿来即用,熟悉之后可以快速开发
2:轻量级,只有一个JAR包,无需其他JAR包依赖。3:以集成了jQuery,无需在引入jQuery脚本可以直接使用。4:与Spring可以非常好的结合。
PrimeFaces里的一些关键属性;
属性名 默认值 值类型 描述
Value 0 Object 组件的值,可以使EL表达式或文本
Converter slide Converter/String 装换器
Immediate FALSE Boolean
Validator null 方法表达式 用于验证输入的方法表达式
requireMessage null String 验证区域失败是返回的消息
var null String 迭代器名
itemLabel null String 项的标签
itemValue null String 项的值
maxResults 0 可显示的最多结果数量
UI Components:PrimeFaces UI模块提供了拥有Rich Web用户体验的各种JSF组件。PrimeFaces使用Yahoo UI库做为默认的客户端框架。PrimeFaces提供的JSF组件能够处理JavaScript Rendering和如何在服务器端与JSF集成。PrimeFaces UI组件包括:HtmlEditor、ImageCropper、Dialog、AutoComplete、Flash based Chart等。并支持通过Ajax更新页面。
Optimus模块提供简化JSF开发的解决方案。Optimus提供基于Google Guice IOC容器的注释来代替XML配置和一个XML-less Navigation Handler能够让你减少基于XML配置JSF Navigation的需要。此外Optimus还支持利用JPA实现数据持久化;将DataTable的内容导出成Excel与PDF。支持安全扩展。
FacesTrace模块提供跟踪JSF Web应用程序的各种工具包括:JSF LifeCycle可视化查看器;性能跟踪器; Log4J适配器;FacesMessage监听器;组件树可视化查看器。
DataTable用有两种模型:非动态(默认 ),和动态模型。
非动态采用纯客户端组件形式,与后台无交互。不需要实时更新的情况,具有较高的优势
动态数据表自后台Bean的模型以AJAX方式动态的提取数据。
版权归威海众成信息科技股份有限公司所有,转载请注明出处。