【发布时间】:2012-11-25 23:37:06
【问题描述】:
JSF 2.0 中“组件”的定义是什么?
在 JSF 2.0 中使用的 Facelets 中组件的定义是什么?
当然,我搜索了它,但我没有找到一个简短而明确的答案。
【问题讨论】:
JSF 2.0 中“组件”的定义是什么?
在 JSF 2.0 中使用的 Facelets 中组件的定义是什么?
当然,我搜索了它,但我没有找到一个简短而明确的答案。
【问题讨论】:
定义在 JSF 规范中。这里引用JSF 2.0 specification第3章的介绍,定义在第1段中:
用户界面组件模型
JSF 用户界面组件是创建 JSF 用户界面的基本构建块。特定组件表示用户界面中的可配置和可重用元素,其复杂程度可能从简单(例如按钮或文本字段)到复合(例如树控件或表格)。组件可以选择关联 应用程序数据模型中的对应对象,通过值表达式。
JSF 还支持带有几个附加帮助 API 的用户界面组件:
- Converters - 可插入的支持类,用于将组件的标记值与模型层中的相应类型相互转换。
- 事件和监听器——基于 JavaBeans 规范 1.0.1 版设计模式的事件广播和监听器注册模型。
- Validators——可插入的支持类,可以检查组件的本地值(在传入请求中接收)并确保它符合每个 Validator 强制执行的业务规则。可以在渲染期间生成验证失败的错误消息并将其发送回用户。
基于 JSF 的 Web 应用程序的特定页面的用户界面是通过将特定请求或响应的用户界面组件组装到视图中来创建的。该视图是实现
UIComponent的类树。树中的组件与其他组件有父子关系,从树的根元素开始,它必须是UIViewRoot的实例。树中的组件可以是匿名的,也可以由框架用户赋予一个组件标识符。树中的组件可以根据 组件标识符 定位,该标识符在作为 命名容器 的组件的最近祖先范围内必须是唯一的。对于复杂的渲染场景,组件也可以作为facets附加到其他组件上。
Facelets 是一种视图技术,它允许您定义上述引文最后一段中提到的视图。
【讨论】:
表单字段、日历、数据表、树等是 JSF 组件。将它们与 Facelets 连接在一起并构建组件树。作曲是这个游戏的名称。
【讨论】: