JSF负责对客户端设备产生影响,它提供了将表示层、应用层和业务逻辑层整合在一起的工具,但是,JSF的范围被限制在表示层。
以下是JSF Framwork提供最重要的服务。
l MVC架构
软件用户总是要操作各种数据,例如,一个潜在用户提交的注册信息,这些数据叫做model。软件开发人员必须将这些数据展现给用户,这就是视图views。在Web应用程序中,HTML文件用于描绘这些数据。
JSF将model和view结合在一起。可以用下面的方式将model属性和view组件绑定:
<h:inputText value="#{user.username}"/>
并且,JSF还充当控制器Controller的角色,它可以响应用户的事件(例如,提交数据或者修改了某一个值),将这些事件的数据交由处理model的类以更新model。例如,可以调用一个方法来判断某个用户是否被允许登陆:
<h:commandButton action="#{user.check}"/>
l 数据类型转换
用户在HTML表单输入的都是文本,而我们需要的可能是数字、日期等类型,JSF提供了非常简单的方法用于指定或者自定义数据转换规则。
l 验证和错误处理
在JSF中可以非常简单的实现诸如“某个字段不得为空”或“某个自动必须为数字”之类的规则。客户还希望在他输入错误数据之后得到适当的提示,JSF提供了完成绝大多数类似任务的方法。
l 国际化
JSF提供国际化发布管理,解决诸如字符编码和资源文件选择等课题。
l 自定义组件
l 可选择的渲染器
缺省的,JSF将tag渲染为HTML格式。但是,也可以非常简单的扩展它,以适应其他渲染要求,比如WML。
l 工具支持
这个得等。