用 Apache Derby、Apache MyFaces 和 Facelets 开发应用程序

本文介绍如何结合Apache MyFaces、Facelets及Apache Derby开发Java Server Faces (JSF) Web应用程序。通过示例应用程序展示MyFaces组件的强大功能及使用Facelets简化开发过程的方法。

习如何使用 Apache Derby、Apache MyFaces 和 Facelets 来开发 Java™Server™ Faces (JSF) 应用程序。本文中示例应用程序(可下载)使用了 Model-View-Controller (MVC) 架构,用来说明 MyFaces 组件的强大功能以及使用 Apache Derby 和最新视图技术 Facelets 进行开发的简单性。
什么是 JSF、Facelets 和 Apache Derby?

本文中所演示的用于 Web 应用程序的三种技术是 JSF、Facelets 和 Java™ Database Connectivity (JDBC™)。JDBC 用于访问关系数据库 Apache Derby 中的数据。JSF 是用于构建用户界面(user interface,UI)的 Web 应用程序框架,Facelets 是专门为 JSF 而设计的表示技术。Apache Derby 是与纯 Java JDBC 兼容的数据库。这三种组件的综合使用为开发基于 Java 的 MVC Web 应用程序提供了理想的环境。

首先介绍 JSF,它解决了控制器和 MVC Web 应用程序视图层之间更清晰地分离这种需求。它还与服务器端的事件有关,而不是完全依赖客户端用于事件处理的 JavaScript™。但是,JSF 的主要贡献是其基于组件的模型,它促进了可重用性和可扩展性。使用 JSF 的缺点之一是用于呈现层的技术,默认情况下由 JavaServer Pages™ (JSP™) 提供。JSP 不是基于组件的系统,因此无法利用 JSF 模型的所有功能。JSF 应用程序中的 JSP 标记呈现了视图,并表示组件,但无法更改 JSF 组件的状态。

Facelets

这就是使用 Facelets 的地方。Facelets 是专门为考虑 JSF 的基于组件的技术而设计的,产生 Web 应用程序视图中所使用的组件树。对 JSP 进行编译以创建 servlet,且使用 JSP 来呈现动态内容,但此内容并不是始终与 JSF 所产生的组件树保持同步。Facelets 与 JSF 组件树相结合而运行,因此对呈现的输出不必感到奇怪 —— 在 JSF 中使用 JSP 进行呈现时会出现这种情况。

本文中所讨论的示例应用程序(可在本文结尾的下载部分获取)使用了 Facelets 的模板化功能,并且演示了应用改进的错误消息的示例,这些错误消息在 Facelets 开发中可捕获。还有许多可以使用的 Facelets 功能,在本文中没有进行讨论(如果您想学习更多有关内容,请参阅本文结尾的参考资料部分)。

使用 Apache MyFaces 的 JSF

Apache 的 MyFaces 项目提供了 JSF Web 应用程序框架规范 JSR 127(请参阅参考资料以获取链接)的开放源码实现。MyFaces 提供了规范所要求的全部类,以及被称为 Tomahawk 的其他 JSF 组件。其中一些组件提供了新功能,多于规范所要求的那些功能,还有一些组件提供了增强的功能。

您应该已经熟悉 JSF 的背景知识,想从本文获取更多知识。一个很好的开端是从参考资料部分中所列出的系列文章(由 Rick Hightower 提供)开始学习。 

。。。。。。

                                                                                                     点击此处查看全文

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值