快速业务通道

怀疑论者的JSF: 消除关于JSF的FUD - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
页面:index.jsp,它只是重定 向到 calculator.jsp;calculator.jsp,它呈现前面提到的 GUI;results.jsp,它显示结 果。 一个叫做 CalculatorController 的托管 bean 充当 calculator.jsp 和 results.jsp 的 backing bean。

图 2 展示了示例 Calculator 应用程序的第二个 MVC 视图。通过单击本页顶部或底部的 Code 图标,可以下载该应用程序的源代码。

图 2. 示例应用程序的第二个 MVC 视图

怀疑论者的JSF: 消除关于JSF的FUD - 编程入门网

构建应用程序

要用 JSF 构建 Calculator 应用程序,需要做以下事情:

收集 web.xml 和 faces-config.xml 文件,建立在示例应用程序的 src/webapp/WEB-INF 目录下。

在 web.xml 文件中声明 Faces Servlet 和 Faces Servlet 映射。

在 web.xml 文件中指定 faces-config.xml 文件。

在 faces-config.xml 文件中声明哪些 beans 由 JSF 托管。

在 faces-config.xml 文件中声明导航规则。

查看模型对象 Calculator。

使用 CalculatorController 与 Calculator 模型交谈。

创建 index.jsp 页面。

创建 calculator.jsp 页面。

创建 results.jsp 页面。

怀疑论者的JSF: 消除关于JSF的FUD(4)

时间:2011-04-11 IBM Rick Hightower

忽略第 1 步,因为这实际上只是设置,我将详细介绍每一步。

声明 Faces Servlet 和 Servlet 映射

为了使用 Faces,首先需要在 web.xml 文件中安装 Faces Servlet,如下所示:

<!-- Faces Servlet --> <servlet>    <servlet-name>Faces Servlet</servlet-name>    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>    <load-on-startup> 1 </load-on-startup> </servlet>

这非常类似于大多数 web.xml 描述符,只是您将控制权交给 JSF Servlet 来处理请求, 而不是指定自己的 Servlet。对使用 f:view 的 JSP 文件的所有请求都必须经过该 Servlet 。因此,您需要添加一个映射,并且通过该映射只加载支持 JSF 的 JSP 技术,如下所示。

<!-- Faces Servlet Mapping --> <servlet-mapping>    <servlet-name>Faces Servlet</servlet-name>    <url-pattern>/calc/*</url-pattern> </servlet-mapping>

上面的代码告诉 Faces Servlet 容器,将映射到 /calc/ 的所有请求发送到 Faces Servlet 进行处理。这允许 JSF 初始化 JSF 上下文和视图根。

指定 faces-config.xml 文件

如果您将外观配置文件命名为 faces-config.xml,并放在您的 Web 应用程序的 WEB-INF 目录中,那么 Faces Servlet 将自动找到并使用它(因为它是默认的)。另外,您也可以通 过 web.xml 文件中的一个初始化参数 —— javax.faces.application.CONFIG_FILES —— 用一个以逗号分隔的文件列表作为参数,下载一个或多个应用程序配置文件。您可能愿意对 除最简单的之外的所有 JSF Web 应用程序使用第二种方法。

声明 bean 托管

接下来,您将声明哪些 beans 由 JSF GUI 组件使用。该示例应用程序只有一个映射 bean。它配置在 faces-config.xml 中,如下所示:

<faces-config>    ...   <managed-bean>    <description>     The "backing file" bean that backs up the calculator webapp    </description>    <managed-bean-name>CalcBean</managed-bean-name>    <managed-bean- class>com.arcmind.jsfquickstart.controller.CalculatorConroller</managed- bean-class>    <managed-bean-scope>session</managed-bean-scope>   </managed-bean> </faces-config>

上面的配置告诉

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号