JSF 框架服务

下图高度概括了JSF架构。可以看到,JSF框架负责与客户端设备交互,并提供将可视表示、应用程序逻辑和Web应用程序的业务逻辑相连接的工具。但是,JSF的作用域被限制在表示屋。数据库持久性、Web服务和其他后端连接都超出了JSF的作用域。

JSF框架的高度概括

下面列出了JSF框架提供的一些最重要的服务:

  • MVC——所有软件应用程序都允许用户操作某些数据,例如购物车、旅游线路或在某个特定问题领域中需要的任何数据。这里的数据被称为模型(Model)就像画家在画室中创建一个模型的绘画,Web应用程序显示数据模型的视图(View)。在Web应用程序中,HTML(或类似的呈现技术)用于绘制这些视图。JSF连接视图和模型。视图组件可连接到一个模型对象的bean属性,例如:
    <h:inputText value="#{user.name}"/>
     此外,JSF实现作为控制器(Contrller)运行,它通过处理动作和值更改事件对用户做出反应,将它们路由到更新视图的代码。例如,如果想调用一个检查是否允许用户登录的方法,可以使用以下JSF标签:
    <h:commandButton value="Login" action="#{user.check}"/>
     当用户单击按钮,将表单提交到服务器时,JSF实现调用user bean的check方法。这个方法可以执行任意动作以更新模型,它返回下一个要显示页面的ID。
  • 数据转换——用户以文本方式在Web表单中输入数据。业务对象接受数字、日期或其他数据类型的数据。
  • 验证和错误处理——JSF使添加字段验证规则(例如“这个字段是必需的”或“这个字段必须是数字”)变得十分容易。当然,当用户输入无效数据时,必须显示适当的错误消息。JSF减少了很多乏味的编程工作。
  • 国际化——JSF管理国际化问题,例如字符编码和资源包的选择。
  • 自定义组件——页面设计者可以将组件开发人员开发的复杂组件简单地拖动到自己页面止。例如,假设组件开发人员创建了一个带有各种常用功能的日历组件。如果用户在页面上使用它,则只需使用它。
  • Ajax支持——JSF提供了标准的Ajax通信信道,可透明地调用服务器端操作并更新客户端组件。
  • 其他呈现方式——默认情况下,JSF产生HTML页面的标记。但是,扩展JSF框架以生成其他页面描述语言(例如WML或XUL)的标记也是可以的。

猜你喜欢

转载自lucifinilhades.iteye.com/blog/1240770
jsf