Apusic OperaMasks 3.2参考手册
I. Operamasks简介
1. Apusic Operamasks框架
1.1. 什么是Apusic OperaMasks?
1.2. 开源协议
1.3. Apusic OperaMasks与JSF、Ext的关系
1.4. Apusic OperaMasks支持的Web容器
2. Operamasks技术特性
2.1. 面向构件编程实现所见所得
2.2. 无缝整合现有多种成熟框架
2.3. 实现无成本的AJAX支持
2.4. 解耦美工与程序员的分工:IoVC
2.5. 轻量敏捷的粘接器:LiteBean
2.6. 内嵌高效灵活的动态语言:ELite
2.7. 高效的开发过程:OperaMasks Studio
2.8. 更多
3. OperaMasks SDK 3.2版新特性一览
3.1. delegate请求排队
3.2. 分组页签布局,TAB页签的归类显示
3.3. 列锁定表格,让某些列不随水平滚动条移动
3.4. 行编辑表格,一次性编辑一行数据
3.5. 行分组表格,让各行先归组再展示
3.6. 树状表格,层次分明地展示表格信息
3.7. 可展开的表格,方便地切换简繁显示
3.8. 分组统计表格,将表格信息归类再归总
3.9. 左移右移,从一个列表中选择感兴趣的项目
3.10. 二维统计表格,展示更多的信息
3.11. 小贴士组件,随意定制提示消息
4. OperaMasks SDK 3.1版新特性一览
4.1. 增量视图-减少存储ViewState参数
4.2. 允许在绑定到RequestBean的页面里多次使用同源复合构件
4.3. 可直接把Managed Bean定义为Conversation Scope
4.4. 可选择使用ajax方式或非ajax方式来提交action
5. OperaMasks SDK 3.0版新特性一览
5.1. 统一渲染机制,方便构件开发
5.2. 引擎与构件分离
5.3. 局部更新,更好的性能
5.4. 动态表单,用模板生成Facelets页面
5.5. 请求排队,请求不会丢失
5.6. 表格融合,DataGrid表体可以合并单元格
5.7. 表格合计,多种内置公式对数据进行合计
5.8. ConversationContext,Request和Session之间的会话上下文
5.9. Flash闪存,跨页面参数传递
5.10. layout构件width和height百分比支持
5.11. 新增构件:Flash文件上传构件、文件下载构件
5.11.1. Flash上传构件
5.11.2. 文件下载构件
6. OperaMasks SDK 2.3版新特性一览
6.1. 提供统一的事件处理接口,提供更丰富的事件上下文
6.2. 更灵活的客户端校验方案
6.3. 统一的资源处理机制,方便用户扩展
6.4. 易用的构件热键支持
6.5. 自定义AJAX请求参数
6.6. 多页签延迟加载
II. OperaMasks入门
7. 运行示例看看
7.1. 准备工作
7.1.1. 下载JDK
7.1.2. 下载Web服务器
7.2. 下载示例
7.3. 部署与运行示例
8. 更多示例
8.1. helloDuke, another 'hello world'
8.1.1. 如何获得 hello duke 的应用
8.1.2. 程序分析
8.1.2.1. greeting.xhtml
8.1.2.2. GreetingBean.java
8.1.2.3. sameName.xhtml
8.1.2.4. web.xml
8.1.2.5. faces-confg.xml
8.2. CRUD示例
8.2.1. 了解代码
8.2.1.1. LoginBean.java
8.2.1.2. login.xhtml
8.2.1.3. UserManage.java
8.2.1.4. userManage.xhtml
8.2.1.5. operamasks.xml
8.2.2. 总结
9. 多服务器部署
9.1. 在Apusic Server上部署与运行
9.1.1. 环境准备
9.1.1.1. Java环境
9.1.1.2. 所有需要用到的资源
9.1.2. 部署过程
9.1.2.1. ApusicAS V6.0中的OperaMasks更新至OperaMasks v3.1
9.1.2.2. 启动服务器
9.1.2.3. 部署bpdemos示例
9.2. 在Tomcat上部署与运行
9.2.1. 环境准备
9.2.1.1. Java环境
9.2.1.2. 所有需要用到的资源
9.2.2. 部署示例bpdemos-aom
9.2.2.1. 启动Tomcat服务器
9.2.2.2. 部署示例
9.3. 在JBoss上部署与运行
9.3.1. 环境准备
9.3.1.1. Java环境
9.3.1.2. 所有需要用到的资源
9.3.2. 部署示例bpdemos-aom
9.3.2.1. 修改JBoss的JSF运行环境
9.3.2.2. 启动JBoss服务器
9.3.2.3. 部署示例
9.4. 在WebLogic上部署与运行
9.4.1. 环境准备
9.4.1.1. Java环境
9.4.1.2. 所有需要用到的资源
9.4.1.3. 准备应用bpdemos-aom
9.4.2. 部署应用bpdemos-aom
9.4.2.1. 启动WebLogic服务器
9.4.2.2. 在WebLogic控制台中部署bpdemos-aom
9.5. 在WebSphere上部署与运行
9.5.1. 环境准备
9.5.1.1. Java环境
9.5.1.2. 所有需要用到的资源
9.5.2. 部署应用bpdemos-aom
9.5.2.1. 修改WebSphere的JSF运行环境
9.5.2.2. 在WebSphere控制台中加载bpdemos-aom.war
9.5.2.3. 修改bpdemos-aom的类加载顺序
9.5.2.4. 启动应用程序
10. OperaMasks升级
10.1. 原有项目,OperaMasks从2.3升级到3.x兼容处理
10.2. 原有工程,OperaMasks Studio从6.1升级到7.0兼容处理
III. OperaMasks起步
11. 使用OperaMasks Studio起步
11.1. 准备活动
11.1.1. 什么是OperaMasks Studio
11.1.2. 如何获取OperaMasks Studio
11.1.3. 如何安装OperaMasks Studio
11.1.4. 如何运行OperaMasks Studio
11.1.5. 如何修改OperaMasks Studio的运行参数
11.1.6. 如何升级OperaMasks Studio
11.2. 建立一个新的Apusic标准工程
11.2.1. Apusic标准工程概述
11.2.2. 如何进入新建标准工程向导
11.2.3. 新建EAR项目
11.2.4. 指定新的服务器
11.3. 创建新的Web应用
11.3.1. 创建Web模块
11.3.2. 创建faces页面和托管Bean
11.3.3. 可视化页面开发
11.3.4. 部署运行
11.4. 将应用部署至服务器
11.5. 重启与停止应用
11.6. 应用导出
IV. 用户指南
12. 请求处理生命周期
12.1. 与传统MVC的比较
12.2. OperaMasks请求处理生命周期
12.2.1. 恢复视图阶段(PhaseId.RESTORE_VIEW)
12.2.2. 应用请求值阶段(PhaseId.APPLY_REQUEST_VALUES)
12.2.3. 处理校验阶段(PhaseId.PROCESS_VALIDATIONS)
12.2.4. 更新模型值阶段(PhaseId.UPDATE_MODEL_VALUES)
12.2.5. 调用应用程序阶段(PhaseId.INVOKE_APPLICATION)
12.2.6. 渲染响应阶段(PhaseId.RENDER_RESPONSE)
12.3. 生命周期阶段侦听器
12.3.1. 应用范围内的侦听器
12.3.2. 页面范围内的侦听器
12.3.3. @BeforeRender和@AfterRender
12.4. 不得不说的immediate属性
13. 基于构件编程
13.1. 基于构件编程的好处
13.2. OperaMasks构件体系
13.3. 视图树
13.4. 构件的使用
14. EL(Expression Language)
14.1. 值表达式
14.2. 表达式操作符
14.3. EL隐含对象
14.4. 方法表达式
14.5. 使用EL访问和设置LiteBean属性/方法
15. LiteBean
15.1. Managed Bean
15.2. 什么是LiteBean
15.3. LiteBean的声明
15.4. LiteBean的生命周期
15.5. ConversationContext,Request和Session之间的会话上下文
15.5.1. ManagedBean工作在Session范围下的问题
15.5.2. ConversationContext的产生及其工作原理
15.5.3. ConversationContext的使用
15.5.3.1. 在web.xml中配置CONVERSATION_TIMEOUT参数,参数为Long型,默认为120秒
15.5.3.2. 获取ConversationContext,向其中存入值
15.5.3.3. 获取ConversationContext,根据key取出相应的值
15.5.3.4. 在页面中的链接加入jconversationid参数,页面跳转也可以使用ConversationContext
15.5.4. ConversationContext示例
15.5.5. @SaveState示例
15.5.6. ajax:conversationActivator构件,ConversationContext的定时激活器,定制页面的ConversationContext存活时间
15.6. LiteBean的使用
15.7. 资源注入
15.8. 依赖注入
16. 导航
16.1. 回顾传统的控制器导航方式
16.2. 两种导航方式
16.2.1. 静态导航
16.2.2. 动态导航
16.3. 高级导航
16.3.1. 零配置导航
16.3.2. 重定向
17. 校验与转换
17.1. 校验
17.1.1. 预置的校验器
17.1.2. 自定义校验
17.1.2.1. ajax:clientValidator客户端校验
17.1.2.2. IoVC服务器端简单校验
17.1.2.3. @Validate服务器端校验
17.1.2.4. 在Action或ActionListener或BeforRender中校验
17.1.2.5. 独立校验器类校验
17.1.3. 切换到客户端校验
17.1.4. 更强的客户端校验
17.1.4.1. 一些新特性
17.1.4.2. 客户端校验应用场景
17.2. 转换
17.2.1. 预置的转换器
17.2.2. 自定义转换
17.2.2.1. 客户端转换
17.2.2.2. IoVC服务器端简单转换
17.2.2.3. @Convert与@Format服务器端转换
17.2.2.4. 独立转换器类转换
18. 事件处理模型
18.1. 动作事件
18.1.1. 动作事件解析
18.1.2. action和actionListener
18.1.3. 提前处理动作事件
18.2. 值改变事件
18.3. 阶段事件
18.4. AjaxAction事件
18.5. 请求排队
18.6. delegate请求排队,让表格按指定顺序加载数据
19. Facelets模板与复合构件
19.1. 配置
19.1.1. 添加初始化参数
19.1.2. 添加 FaceletViewHandler
19.1.3. 定义 Facelets 的命名空间
19.2. Facelets模板
19.2.1. 模板页面与适配页面
19.2.1.1. 插入整段模板内容
19.2.1.2. 插入多处模板内容
19.2.1.3. 模板嵌套
19.2.1.4. 参数传递
19.3. 复合构件
19.3.1. 什么是复合构件
19.3.2. 自定义复合构件
19.3.2.1. 创建 复合构件标识文件
19.3.2.2. 在 web.xml 中声明该标示
19.3.2.3. 创建复合构件模板文件
19.3.2.4. 用命名空间导入标识文件
19.4. 复合组件Scope-在同一RequestBean的页面里使用多个同源复合组件
19.4.1. 前言
19.4.2. 如何开发复合组件
20. IoVC
20.1. IoVC的意义
20.2. IoVC的时机
20.3. IoVC的4种类型
20.3.1. 页面绑定
20.3.2. 动作绑定
20.3.3. 事件绑定
20.3.4. 数据绑定
20.4. 其他与IoVC相关的Annotation
20.4.1. 定义与初始化
20.4.1.1. @ManagedBean
20.4.1.2. @Accessible
20.4.1.3. @SaveState
20.4.1.4. @ManagedProperty
20.4.1.5. @Inject
20.4.1.6. @Outject
20.4.1.7. @Factory
20.4.1.8. @Init
20.4.1.9. @ComponentAttributes
20.4.2. 事件
20.4.2.1. @ActionListener
20.4.2.2. @ActionListeners
20.4.2.3. @BeforePhase
20.4.2.4. @AfterPhase
20.4.2.5. @BeforeRender
20.4.2.6. @AfterRender
20.4.3. 数据检验
20.4.3.1. @Required
20.4.3.2. @ValidateDoubleRange
20.4.3.3. @ValidateLongRange
20.4.3.4. @ValidateLength
20.4.3.5. @ValidateRegexp
20.4.3.6. @Validate
20.4.3.7. @Validator
20.4.3.8. @Validators
20.4.3.9. @DefineValidator
20.4.4. 数据转换
20.4.4.1. @ConvertDateTime
20.4.4.2. @ConvertNumber
20.4.4.3. @Pattern
20.4.4.4. @Convert
20.4.4.5. @Format
20.4.4.6. @DefineConverter
20.4.4.7. @Convertor
20.4.5. 模型数据
20.4.5.1. @DataModel
20.4.5.2. @SelectItems
20.4.5.3. @ListEntries
20.4.5.4. @MapEntries
20.4.6. 页面展示
20.4.6.1. @LocalString
20.4.6.2. @Label
20.4.6.3. @Description
21. 页面局部更新
21.1. 什么是页面局部更新
21.2. OperaMasks 3.2中的局部更新
21.2.1. 同表单自动更新
21.2.2. 注册跨表单更新
21.2.2.1. 在页面中注册更新
21.2.2.2. 使用API方式注册局部更新
21.2.2.3. 使用ajax:updater进行重画刷新
21.2.2.4. 使用构件类上repaint方法进行重画刷新
21.3. OperaMasks 3.0与2.3版本局部更新策略比较
22. 动态表单
22.1. 什么是动态表单
22.2. OperaMasks 3.2中的动态表单
22.3. 动态表单相关配置
22.4. 动态表单使用方式
23. 消息总线
23.1. 从更高角度看消息与事件
23.2. 事件的特性分析
23.3. 什么是消息总线(Message Bus)
23.4. 使用消息总线
23.5. 消息的详细控制
23.6. 用事件控制导航
23.7. 其它特性
23.8. 例子
24. 多语言支持
24.1. 国际化及其目的
24.2. 常规的国际化支持
24.3. OperaMasks中的国际化
24.3.1. 使用EL表达式
24.3.1.1. @LocalString注解
24.3.2. 资源文件注入
25. 主题(皮肤)
25.1. OperaMasks对主题的支持
25.2. 切换主题
25.3. 定制主题
26. 日志与调试
26.1. 日志
26.1.1. 获取Logger
26.1.1.1. 传统
26.1.1.2. 注入
26.1.2. 配置日志
26.1.3. 记录日志
26.2. 调试
26.2.1. 远程调试
26.2.2. 调试JS脚本
26.2.3. 调试CSS样式
27. 与已有框架的集成
27.1. JBoss Seam
27.1.1. 简介
27.1.2. OperaMasks与JBoss Seam的无缝集成
27.1.3. 参考
27.2. Spring Security
27.2.1. 概述
27.2.2. 开始整合
27.2.2.1. 下载Spring Security包
27.2.2.2. 建立一个aom_springsecurity项目
27.2.2.3. 配置web.xml
27.2.2.4. 建立页面
27.2.2.5. 配置权限
27.2.3. 自定义登录页面
27.2.3.1. 建立页面和ManagedBean
27.2.3.2. 配置我们的登录页面
27.2.4. 数据库权限
27.2.4.1. 建立数据源
27.2.4.2. 配置数据源
27.3. Spring/EJB3
27.3.1. 前言
27.3.2. Spring is here
27.3.3. 对Spring集成的示例性说明
27.3.4. EJB 3的支持
28. 构件开发
28.1. 构件开发的一般过程
28.2. 渲染机制介绍
28.3. 开始实例
28.3.1. FushionCharts Column2D构件
28.3.1.1. 开发过程分析
28.3.1.1.1. 第一步:写出HTML代码
28.3.1.1.2. 第二步:找出可变部分与不变部分
28.3.1.1.3. 第三步:决定需要的构件类应该有哪些属性
28.3.1.1.4. 第四步:生成构件类,看看有没有可改进的地方
28.3.1.1.5. 第五步:为渲染器类准备资源
28.3.1.1.6. 第六步:确定渲染器需要覆写哪些方法
28.3.1.1.7. 第七步:实现渲染器中各要覆盖方法
28.3.1.1.8. 第八步:配置各个配置文件
28.3.1.1.9. 第九步:打包成jar文件
28.3.1.2. 使用OperaMasks来开发FusionCharts Column2D构件
28.3.1.2.1. 第一步:新建一个构件工程
28.3.1.2.2. 第二步:添加一个构件
28.3.1.2.3. 第三步:写构件Base类,生成构件类
28.3.1.2.4. 第四步:准备资源
28.3.1.2.5. 第五步:写渲染器类
28.3.1.2.6. 第六步:打包成jar文件
28.3.1.3. 使用自定义的构件
28.3.1.4. 对Column2D构件进行改进
28.3.2. FusionCharts Area2D构件
29. 配置文件详解
29.1. faces-config.xml
29.2. web.xml
29.3. operamasks.xml
V. 构件参考
30. widget构件
30.1. widget构件
30.2. <w:button>
30.2.1. 构件信息
30.2.2. 属性
30.2.3. 构件API
30.2.3.1. UIButton(Button构件类)
30.2.4. 示例
30.3. <w:calcNumberField>
30.3.1. 构件信息
30.3.2. 属性
30.3.3. 构件API
30.3.3.1. UIField(Field构件公共基类)
30.3.4. 示例
30.4. <w:calendar>
30.4.1. 构件信息
30.4.2. 属性
30.4.3. 构件API
30.4.4. 示例
30.5. <w:checkBox>
30.5.1. 构件信息
30.5.2. 属性
30.5.3. 构件API
30.5.3.1. UIField(Field构件公共基类)
30.5.4. 示例
30.6. <w:checkBoxGroup>
30.6.1. 构件信息
30.6.2. 属性
30.6.3. 构件API
30.6.4. 示例
30.7. <w:checkMenuItem>
30.7.1. 构件信息
30.7.2. 属性
30.7.3. 构件API
30.7.4. 示例
30.8. <w:chooseSkin>
30.8.1. 构件信息
30.8.2. 属性
30.8.3. 构件API
30.8.4. 示例
30.9. <w:combo>
30.9.1. 构件信息
30.9.2. 属性
30.9.3. 构件API
30.9.3.1. UIField(Field构件公共基类)
30.9.4. 示例
30.10. <w:commandMenuItem>
30.10.1. 构件信息
30.10.2. 属性
30.10.3. 构件API
30.10.4. 示例
30.11. <w:contextMenu>
30.11.1. 构件信息
30.11.2. 属性
30.11.3. 构件API
30.11.3.1. UIMenu(contextMenu的构件类)
30.11.4. 示例
30.12. <w:dataGrid>
30.12.1. 构件信息
30.12.2. 属性
30.12.3. 构件API
30.12.3.1. UIDataGrid(dataGrid的构件类)
30.12.3.2. GridDataProvider(抽象类,Grid的数据提供者)
30.12.3.3. GridViewProvider(接口)
30.12.3.4. GridRowDataProvider(接口)
30.12.3.5. ListProviderAdapter
30.12.3.6. ArrayProviderAdapter
30.12.4. 示例
30.13. <w:dataView>
30.13.1. 构件信息
30.13.2. 属性
30.13.3. 构件API
30.13.3.1. UIDataView(dataView的构件类)
30.13.4. 示例
30.14. <w:dateField>
30.14.1. 构件信息
30.14.2. 属性
30.14.3. 构件API
30.14.3.1. UIField(Field构件公共基类)
30.14.4. 示例
30.15. <w:dateTimeField>
30.15.1. 构件信息
30.15.2. 属性
30.15.3. 构件API
30.15.3.1. UIField(Field构件公共基类)
30.15.4. 示例
30.16. <w:dateMenu>
30.16.1. 构件信息
30.16.2. 属性
30.16.3. 构件API
30.16.4. 示例
30.17. <w:drawImage>
30.17.1. 构件信息
30.17.2. 属性
30.17.3. 构件API
30.17.3.1. UIDrawImage
30.17.4. 示例
30.18. <w:editDataGrid>
30.18.1. 构件信息
30.18.2. 属性
30.18.3. 构件API
30.18.3.1. UIEditDataGrid(editGrid的构件类)
30.18.3.2. GridDataProvider(抽象类,Grid的数据提供者)
30.18.3.3. GridViewProvider(接口)
30.18.3.4. GridRowDataProvider(接口)
30.18.3.5. ListProviderAdapter
30.18.3.6. ArrayProviderAdapter
30.18.4. 示例
30.19. <widget:expanderColumn>
30.19.1. 构件信息
30.19.2. 属性
30.19.3. 示例
30.20. <widget:expanderGridPlug>
30.20.1. 构件信息
30.20.2. 属性
30.20.3. 示例
30.21. <w:fileupload>
30.21.1. 构件信息
30.21.2. 属性
30.21.3. 构件API
30.21.4. 示例
30.22. <w:fileUploadDialog>
30.22.1. 构件信息
30.22.2. 属性
30.22.3. 构件API
30.22.3.1. UIFileUploadDialog(fileUploadDialog的构件类)
30.22.4. 示例
30.23. <w:fileUploadProgress>
30.23.1. 构件信息
30.23.2. 属性
30.23.3. 构件API
30.23.4. 示例
30.24. <w:forEach>
30.24.1. 构件信息
30.24.2. 属性
30.24.3. 构件API
30.24.4. 示例
30.25. <w:form>
30.25.1. 构件信息
30.25.2. 属性
30.25.3. 构件API
30.25.4. 示例
30.26. <w:gridHeader>
30.26.1. 构件信息
30.26.2. 属性
30.26.3. 构件API
30.26.4. 示例
30.27. <w:gridHeaderCell>
30.27.1. 构件信息
30.27.2. 属性
30.27.3. 构件API
30.27.4. 示例
30.28. <w:groupingViewPlug>
30.28.1. 构件信息
30.28.2. 属性
30.28.3. 示例
30.29. <widget:groupSummaryPlug>
30.29.1. 构件信息
30.29.2. 属性
30.29.3. 示例
30.30. <w:head>
30.30.1. 构件信息
30.30.2. 属性
30.30.3. 构件API
30.30.4. 示例
30.31. <w:iframe>
30.31.1. 构件信息
30.31.2. 属性
30.31.3. 构件API
30.31.3.1. 类名
30.31.4. 示例
30.32. <w:itemSelector>
30.32.1. 构件信息
30.32.2. 属性
30.32.3. 示例
30.33. <w:linkMenuItem>
30.33.1. 构件信息
30.33.2. 属性
30.33.3. 构件API
30.33.4. 示例
30.34. <w:lockingViewPlug>
30.34.1. 构件信息
30.34.2. 属性
30.34.3. 示例
30.35. <w:menu>
30.35.1. 构件信息
30.35.2. 属性
30.35.3. 构件API
30.35.3.1. UIMenu(Menu的构件类)
30.35.4. 示例
30.36. <w:menuBar>
30.36.1. 构件信息
30.36.2. 属性
30.36.3. 构件API
30.36.3.1. UIMenu(menuBar的构件类)
30.36.4. 示例
30.37. <w:menuItem>
30.37.1. 构件信息
30.37.2. 属性
30.37.3. 构件API
30.37.4. 示例
30.38. <w:multiSelect>
30.38.1. 构件信息
30.38.2. 属性
30.38.3. 示例
30.39. <w:numberField>
30.39.1. 构件信息
30.39.2. 属性
30.39.3. 构件API
30.39.3.1. UIField(Field构件公共基类)
30.39.4. 示例
30.40. <w:outputColumn>
30.40.1. 构件信息
30.40.2. 属性
30.40.3. 构件API
30.40.3.1. GridColumn(outputColumn构件对应的模型类)
30.40.4. 示例
30.41. <w:page>
30.41.1. 构件信息
30.41.2. 属性
30.41.3. 构件API
30.41.4. 示例
30.42. <w:pagingLink>
30.42.1. 构件信息
30.42.2. 属性
30.42.3. 构件API
30.42.4. 示例
30.43. <w:pagingToolbar>
30.43.1. 构件信息
30.43.2. 属性
30.43.3. 构件API
30.43.3.1. UIPagingToolbarBase(pagingToolbar的构件基类)
30.43.4. 示例
30.44. <w:panelBox>
30.44.1. 构件信息
30.44.2. 属性
30.44.3. 构件API
30.44.4. 示例
30.45. <widget:pivotColumn>
30.45.1. 构件信息
30.45.2. 属性
30.45.3. 示例
30.46. <widget:pivotGrid>
30.46.1. 构件信息
30.46.2. 属性
30.46.3. 示例
30.47. <w:progressBar>
30.47.1. 构件信息
30.47.2. 属性
30.47.3. 构件API
30.47.4. 示例
30.48. <w:radioGroup>
30.48.1. 构件信息
30.48.2. 属性
30.48.3. 构件API
30.48.4. 示例
30.49. <w:radioMenuItem>
30.49.1. 构件信息
30.49.2. 属性
30.49.3. 构件API
30.49.4. 示例
30.50. <w:remove>
30.50.1. 构件信息
30.50.2. 属性
30.50.3. 构件API
30.50.4. 示例
30.51. <w:requires>
30.51.1. 构件信息
30.51.2. 属性
30.51.3. 构件API
30.51.4. 示例
30.52. <w:rowEditorPlug>
30.52.1. 构件信息
30.52.2. 属性
30.52.3. 示例
30.53. <w:script>
30.53.1. 构件信息
30.53.2. 属性
30.53.3. 构件API
30.53.4. 示例
30.54. <w:separator>
30.54.1. 构件信息
30.54.2. 属性
30.54.3. 构件API
30.54.4. 示例
30.55. <w:set>
30.55.1. 构件信息
30.55.2. 属性
30.55.3. 构件API
30.55.4. 示例
30.56. <w:simpleDataGrid>
30.56.1. 构件信息
30.56.2. 属性
30.56.3. 构件API
30.56.4. 示例
30.57. <w:simpleHtmlEditor>
30.57.1. 构件信息
30.57.2. 属性
30.57.3. 构件API
30.57.4. 示例
30.58. <w:slider>
30.58.1. 构件信息
30.58.2. 属性
30.58.3. 构件API
30.58.4. 示例
30.59. <w:stylesheet>
30.59.1. 构件信息
30.59.2. 属性
30.59.3. 构件API
30.59.4. 示例
30.60. <w:swfUpload>
30.60.1. 构件信息
30.60.2. 属性
30.60.3. 构件API
30.60.4. 例子
30.61. <w:tabScrollerMenuPlug>
30.61.1. 构件信息
30.61.2. 属性
30.61.3. 示例
30.62. <w:textArea>
30.62.1. 构件信息
30.62.2. 属性
30.62.3. 构件API
30.62.3.1. UIField(Field构件公共基类)
30.62.4. 示例
30.63. <w:textField>
30.63.1. 构件信息
30.63.2. 属性
30.63.3. 构件API
30.63.3.1. UIField(Field构件公共基类)
30.63.4. 示例
30.64. <w:timeField>
30.64.1. 构件信息
30.64.2. 属性
30.64.3. 构件API
30.64.3.1. UIField(Field构件公共基类)
30.64.4. 示例
30.65. <w:toolBar>
30.65.1. 构件信息
30.65.2. 属性
30.65.3. 构件API
30.65.3.1. UIToolBar(ToolBar的构件类)
30.65.4. 示例
30.66. <w:tree>
30.66.1. 构件信息
30.66.2. 属性
30.66.3. 构件API
30.66.3.1. TreeDataProviderAdapter(接口)
30.66.3.2. UITree(Tree的构件类)
30.66.4. 示例
30.67. <w:treeNode>
30.67.1. 构件信息
30.67.2. 属性
30.67.3. 构件API
30.67.3.1. UITreeNode(treeNode的构件类)
30.67.4. 示例
30.68. <w:treeGrid>
30.68.1. 构件信息
30.68.2. 属性
30.68.3. 示例
30.69. <w:validateRegexp>
30.69.1. 构件信息
30.69.2. 属性
30.69.3. 构件API
30.69.4. 示例
31. layout构件
31.1. layout构件
31.2. <layout:absoluteLayout>
31.2.1. 构件信息
31.2.2. 属性
31.2.3. 构件API
31.2.3.1. UIAbsoluteLayout(absoluteLayout的构件类)
31.2.4. 示例
31.3. <layout:accordionLayout>
31.3.1. 构件信息
31.3.2. 属性
31.3.3. 构件API
31.3.3.1. UIAccordionLayout(accordionLayout的构件类)
31.3.4. 示例
31.4. <layout:borderLayout>
31.4.1. 构件信息
31.4.2. 属性
31.4.3. 构件API
31.4.3.1. UIBorderLayout(borderLayout的构件类)
31.4.4. 示例
31.5. <layout:cardLayout>
31.5.1. 构件信息
31.5.2. 属性
31.5.3. 构件API
31.5.3.1. UICardLayout(cardLayout的构件类)
31.5.4. 示例
31.6. <layout:cell>
31.6.1. 构件信息
31.6.2. 属性
31.6.3. 构件API
31.6.4. 示例
31.7. <layout:columnLayout>
31.7.1. 构件信息
31.7.2. 属性
31.7.3. 构件API
31.7.3.1. UIColumnLayout(columnLayout的构件类)
31.7.4. 示例
31.8. <layout:gridLayout>
31.8.1. 构件信息
31.8.2. 属性
31.8.3. 构件API
31.8.4. 示例
31.9. <layout:groupTabLayout>
31.9.1. 构件信息
31.9.2. 属性
31.9.3. 示例
31.10. <layout:groupTabPanel>
31.10.1. 构件信息
31.10.2. 属性
31.10.3. 示例
31.11. <layout:panel>
31.11.1. 构件信息
31.11.2. 属性
31.11.3. 构件API
31.11.3.1. UIPanel(panel的构件类)
31.11.4. 示例
31.12. <layout:panelGrid>
31.12.1. 构件信息
31.12.2. 属性
31.12.3. 构件API
31.12.4. 示例
31.13. <layout:tabLayout>
31.13.1. 构件信息
31.13.2. 属性
31.13.3. 构件API
31.13.3.1. UITabLayout(tabLayout的构件类)
31.13.4. 示例
31.14. <layout:tableLayout>
31.14.1. 构件信息
31.14.2. 属性
31.14.3. 构件API
31.14.3.1. UITableLayout(tableLayout的构件类)
31.14.4. 示例
31.15. <layout:toolTip>
31.15.1. 构件信息
31.15.2. 属性
31.15.3. 示例
31.16. <layout:window>
31.16.1. 构件信息
31.16.2. 属性
31.16.3. 构件API
31.16.3.1. UIWindow(window的构件类)
31.16.4. 示例
32. ajax构件
32.1. ajax构件
32.2. <ajax:action>
32.2.1. 构件信息
32.2.2. 属性
32.2.3. 构件API
32.2.4. 例子
32.3. <ajax:clientValidator>
32.3.1. 构件信息
32.3.2. 属性
32.3.3. 构件API
32.3.4. 例子
32.4. <ajax:conversationActivator>
32.4.1. 构件信息
32.4.2. 属性
32.4.3. 构件API
32.4.4. 例子
32.5. <ajax:keyBinding>
32.5.1. 构件信息
32.5.2. 属性
32.5.3. 构件API
32.5.4. 示例
32.5.5. 快捷键写法说明。
32.6. <ajax:linkedUpdate>
32.6.1. 构件信息
32.6.2. 属性
32.6.3. 构件API
32.6.4. 例子
32.7. <ajax:logger>
32.7.1. 构件信息
32.7.2. 属性
32.7.3. 构件API
32.7.4. 例子
32.8. <ajax:param>
32.8.1. 构件信息
32.8.2. 属性
32.8.3. 构件API
32.8.4. 例子
32.9. <ajax:progress>
32.9.1. 构件信息
32.9.2. 属性
32.9.3. 构件API
32.9.3.1. ProgressStatus
32.9.3.2. ProgressState
32.9.3.3. ProgressAction
32.9.4. 例子
32.10. <ajax:scripter>
32.10.1. 构件信息
32.10.2. 属性
32.10.3. 构件API
32.10.4. 例子
32.11. <ajax:status>
32.11.1. 构件信息
32.11.2. 属性
32.11.3. 构件API
32.11.4. 例子
32.12. <ajax:submitAction>
32.12.1. 构件信息
32.12.2. 属性
32.12.3. 构件API
32.12.4. 例子
32.13. <ajax:timer>
32.13.1. 构件信息
32.13.2. 属性
32.13.3. 构件API
32.13.4. 例子
32.14. <ajax:updater>
32.14.1. 构件信息
32.14.2. 属性
32.14.3. 构件API
32.14.3.1. AjaxUpdater
32.14.4. 例子
33. graph构件
33.1. graph构件
33.2. <g:areaChart>
33.2.1. 构件信息
33.2.2. 属性
33.2.3. 构件API
33.2.3.1. PositionType(枚举类型)
33.2.4. 示例
33.3. <g:axis>
33.3.1. 构件信息
33.3.2. 属性
33.3.3. 构件API
33.3.3.1. TimePeriodType(枚举类型)
33.3.4. 示例
33.4. <g:barChart>
33.4.1. 构件信息
33.4.2. 属性
33.4.3. 构件API
33.4.3.1. PositionType(枚举类型)
33.4.4. 示例
33.5. <g:chart>
33.5.1. 构件信息
33.5.2. 属性
33.5.3. 构件API
33.5.3.1. ChartType(枚举类型)
33.5.3.2. PositionType(枚举类型)
33.5.4. 示例
33.6. <g:compositeChart>
33.6.1. 构件信息
33.6.2. 属性
33.6.3. 构件API
33.6.3.1. PositionType(枚举类型)
33.6.4. 示例
33.7. <g:curveAreaChart>
33.7.1. 构件信息
33.7.2. 属性
33.7.3. 构件API
33.7.3.1. LineStyleType(枚举类型)
33.7.3.2. PositionType(枚举类型)
33.7.4. 示例
33.8. <g:curveChart>
33.8.1. 构件信息
33.8.2. 属性
33.8.3. 构件API
33.8.3.1. LineStyleType(枚举类型)
33.8.3.2. PositionType(枚举类型)
33.8.4. 示例
33.9. <g:dataItem>
33.9.1. 构件信息
33.9.2. 属性
33.9.3. 构件API
33.9.3.1. LineStyleType(枚举类型)
33.9.4. 示例
33.10. <g:dataLabel>
33.10.1. 构件信息
33.10.2. 属性
33.10.3. 构件API
33.10.4. 示例
33.11. <g:dataSeries>
33.11.1. 构件信息
33.11.2. 属性
33.11.3. 构件API
33.11.4. 示例
33.12. <g:functionItem>
33.12.1. 构件信息
33.12.2. 属性
33.12.3. 构件API
33.12.3.1. LineStyleType(枚举类型)
33.12.4. 示例
33.13. <g:functionSeries>
33.13.1. 构件信息
33.13.2. 属性
33.13.3. 构件API
33.13.4. 示例
33.14. <g:histogramDataItem>
33.14.1. 构件信息
33.14.2. 属性
33.14.3. 构件API
33.14.3.1. LineStyleType(枚举类型)
33.14.4. 示例
33.15. <g:histogramDataSeries>
33.15.1. 构件信息
33.15.2. 属性
33.15.3. 构件API
33.15.4. 示例
33.16. <g:legend>
33.16.1. 构件信息
33.16.2. 属性
33.16.3. 构件API
33.16.3.1. PositionType(枚举类型)
33.16.4. 示例
33.17. <g:lineChart>
33.17.1. 构件信息
33.17.2. 属性
33.17.3. 构件API
33.17.3.1. LineStyleType(枚举类型)
33.17.3.2. PositionType(枚举类型)
33.17.4. 示例
33.18. <g:movingAverage>
33.18.1. 构件信息
33.18.2. 属性
33.18.3. 构件API
33.18.4. 示例
33.19. <g:pieChart>
33.19.1. 构件信息
33.19.2. 属性
33.19.3. 构件API
33.19.3.1. PositionType(枚举类型)
33.19.4. 示例
33.20. <g:radarChart>
33.20.1. 构件信息
33.20.2. 属性
33.20.3. 构件API
33.20.3.1. PositionType(枚举类型)
33.20.4. 示例
33.21. <g:regressionLine>
33.21.1. 构件信息
33.21.2. 属性
33.21.3. 构件API
33.21.4. 示例
33.22. <g:scatterChart>
33.22.1. 构件信息
33.22.2. 属性
33.22.3. 构件API
33.22.3.1. PositionType(枚举类型)
33.22.4. 示例
33.23. <g:spline>
33.23.1. 构件信息
33.23.2. 属性
33.23.3. 构件API
33.23.4. 示例
33.24. <g:textAnnotation>
33.24.1. 构件信息
33.24.2. 属性
33.24.3. 构件API
33.24.3.1. PositionType(枚举类型)
33.24.4. 示例
33.25. <g:timeDataItem>
33.25.1. 构件信息
33.25.2. 属性
33.25.3. 构件API
33.25.3.1. LineStyleType(枚举类型)
33.25.4. 示例
33.26. <g:timeSeries>
33.26.1. 构件信息
33.26.2. 属性
33.26.3. 构件API
33.26.3.1. TimePeriodType(枚举类型)
33.26.4. 示例
33.27. <g:title>
33.27.1. 构件信息
33.27.2. 属性
33.27.3. 构件API
33.27.3.1. PositionType(枚举类型)
33.27.4. 示例
33.28. <g:xAxis>
33.28.1. 构件信息
33.28.2. 属性
33.28.3. 构件API
33.28.3.1. TimePeriodType(枚举类型)
33.28.4. 示例
33.29. <g:xyDataItem>
33.29.1. 构件信息
33.29.2. 属性
33.29.3. 构件API
33.29.3.1. LineStyleType(枚举类型)
33.29.4. 示例
33.30. <g:xyDataSeries>
33.30.1. 构件信息
33.30.2. 属性
33.30.3. 构件API
33.30.4. 示例
33.31. <g:yAxis>
33.31.1. 构件信息
33.31.2. 属性
33.31.3. 构件API
33.31.3.1. TimePeriodType(枚举类型)
33.31.4. 示例
34. misc构件
34.1. misc构件
34.2. <om:about>
34.2.1. 构件信息
34.2.2. 属性
34.2.3. 构件API
34.2.4. 示例
34.3. <om:elite>
34.3.1. 构件信息
34.3.2. 属性
34.3.3. 构件API
34.3.4. 示例
34.4. <om:emulateIE7>
34.4.1. 构件信息
34.4.2. 属性
34.4.3. 构件API
34.4.4. 示例
34.5. <om:fileDownload>
34.5.1. 构件信息
34.5.2. 属性
34.5.3. 构件API
34.5.4. 例子
34.6. <om:useBean>
34.6.1. 构件信息
34.6.2. 属性
34.6.3. 构件API
34.6.4. 示例
35. JSF HTML构件
35.1. JSF HTML构件
35.2. JSF HTML全部构件
36. JSF Core构件
36.1. JSF Core构件
36.2. JSF Core全部构件
37. Facelets构件
37.1. Facelets构件
37.2. <ui:component>
37.3. <ui:composition>
37.4. <ui:debug>
37.5. <ui:decorate>
37.6. <ui:define>
37.7. <ui:fragment>
37.8. <ui:include>
37.9. <ui:insert>
37.10. <ui:param>
37.11. <ui:remove>
37.12. <ui:repeat>
VI. 附录
38. ELite教程
38.1. Getting Started
38.1.1. 什么是ELite
38.1.2. ELite的起源
38.1.3. 安装ELite
38.1.4. 运行ELite
38.1.5. 第一个ELite程序:Hello World
38.2. 操作符
38.2.1. 赋值操作符
38.2.2. 算术操作符
38.2.3. 自增自减操作符
38.2.4. 关系操作符
38.2.5. 逻辑操作符
38.2.6. 类型转换操作符
38.2.7. instanceof操作符
38.2.8. 三元问号表达式
38.2.9. 字符串操作符
38.2.10. 其它操作符
38.2.10.1. defined
38.2.10.2. undef
38.2.10.3. #
38.3. 创建Java对象
38.4. Lambda表达式
38.5. 函数
38.6. 闭包
38.7. 元组
38.8. 列表
38.9. 区间
38.10. Java中的集合对象
38.11. 集合操作
38.12. 关联表
38.13. 流程控制
38.14. 创建自己的对象
38.14.1. 封装
38.14.2. 继承
38.14.3. 多态
38.15. Use ELite in your application
38.15.1. 在AOM中使用
38.15.2. 在自己的程序中使用ELite
39. 其它参考文档