本文主要介绍Java的JSF框架案例的详细说明。本文通过一个简单的案例来说明对这项技术的理解和使用。以下是详细内容,有需要的朋友可以参考一下。
这是一个由两部分组成的系列,其中我介绍了JSF 2以及它如何融入Java EE生态系统。
在第1部分,我将介绍JavaServer Pages(JSF)背后的基本思想,在第2部分,我将介绍Facelets声明语言。
在Web应用程序时,号建筑中,我们为最终用户提供了一种与我们的应用程序进行交互的方式,这正是JSF所提供的。
我将向你介绍MVC设计模式以及如何使用它,你将发现Facelets视图语言及其用法,如何将数据和事件与上下文绑定以及如何通过语言表达来实现。
我将通过查看替代模板框架(如Primefaces)来解释AJAX如何在本地得到支持以及生态系统的可插入性质。
应用结构
EE申请一般是分层应用程序。嗯,我在这篇文章里说的层就是表示层。表示层对访问者访问你的网站时看到的内容负责。
这是用户与你的网站互动的方式,应该是尽可能地方便用户使用。好在借助Java EE API比如classJSF之很难做到这一点。JSF API包含了许多便利,使开发者能够提供高质量的用户体验的开箱,并且使用很少的设计知识。
MVC设计模式
我们先来看Model View Controller设计模式,也叫MVC。
MVC是一种用来实现用户界面的架构模式,它将Web应用程序分成三个逻辑上相连的部分。这样做是为了将数据的内部表示与数据的表示分开。
JSF实际上是是经典意义上的的MVC框架,其中Facelets声明语言用于构建视图,模型用CDI托管bean表示。JSF引擎本身负责控制器。
在以后的文章中,我将对CDI托管bean及其角色有更深入的了解。
查看:Facelets
Facelets是一种视图声明语言,用于构建JSF视图和可重用的复合组件。一般来说,通过组合复合组件、表达式语言和标记库,视图被构建为XHTML页面。
我们不会详细讨论标签库或复合组件的构造。这些都超出了本课程的范围。尽管如此,我们将研究如何使用表达式语言来绑定CDI bean,并用来自应用程序内部层的数据替换视图中的值。
复合组件
复合组件是以给定方式运行的可重用代码段,比如接受用户输入的输入字段。他们可以附加验证器、监听器和其他元素来提供更有用的交互功能。
然而,Facelets并不是我们工具包中唯一的模板语言。事实上,围绕第三方组件库的社区非常繁忙。
可插拔库
可插拔库(如PrimeFaces、Apache MyFaces和ICEFaces)都提供了复合组件,为视图增加了实质性的功能,从而增强了用户体验。实际上,我们将在应用程序中使用PrimeFaces的组件,我们将在本课程的后面看到它的示例。
导航
Facelets使导航变得容易。您只需将视图名称传递给组件的操作,JSF引擎负责定位和呈现视图。
这是一个代码片段,从中您可以看到管理仪表板模板已被传递给Cancel按钮的action属性。这是单击按钮时将显示的模板。
p:command button value=' Cancel ' action='/admin/dashboard '/
型号:装订
CDI bean处理模型个部分,将它们绑定到视图的方式是通过表达式语言。而数据和事件的绑定就是这样完成的,后面我们会看到很多例子。
在这里,你可以看到一个数据绑定的例子。我们正在做的是将account CDI bean的name字段绑定到页面的上下文。呈现后,name字段的值将在视图中被替换,并在屏幕上显示给最终用户。
欢迎p#{account.name}/p
AJAX和HTML 5
通过使用内置的JavaScript资源库,可以直接使用AJAX。F: Ajax标签可以给任何UI组件添加AJAX功能,不需要任何编码。
这个代码片段显示了提交按钮上的鼠标点击事件触发了AJAX。
h:command button id=' Submit ' value=' Submit '
f:ajax event='click' /
/h:命令按钮
现在,让我们继续使用Facelets来声明语言本身。语言语法基于标签的概念,其中每个标签代表一种特定的功能,视图是通过一起使用这些标签来构建的。
这就是本文关于Java的JSF框架案例的详细解释。有关Java JSF框架的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。