《MyEclipseJSF中文版(程序员必看,精心整理,免分数)》由会员分享,可在线阅读,更多相关《MyEclipseJSF中文版(程序员必看,精心整理,免分数)(41页珍藏版)》请在金锄头文库上搜索。
1、/学习编程开发是件需要持之以恒的是,大家加油好好努力,早日成为变成精英。学习编程开发是件需要持之以恒的是,大家加油好好努力,早日成为变成精英。学习编程开发是件需要持之以恒的是,大家加油好好努力,早日成为变成精英。/MyEclipse JSF 快速入门中文版(PDF 文件图片显示不全问题已修正) PDF 版本下载: MyEclipse_JSF_quickstart_zh_CN.pdf 650KB 建议右键另存为相关资料: jsf 入门简体中文版.rar 电子书下载MyEclipse JSF 快速入门中文版最后修订 : 9 月 26 日 , 2005 年 翻译: BeanSBlog: http:/
2、 2007-9-24 声明: 中文文字版权归 刘长炯 () 所有, 原文及相关的图片等资源的版权归原作者 Genuitec L.L.C 公司所有. 原文地址: http:/ JSF Quickstart 中文版. 1 1. 前言. 1 2. 介绍. 1 3. 系统需求. 2 4. 设置新项目和目录结构. 2 5. 创建消息包. 7 6. 创建受管 Bean. 8 7. 创建 JSP 页面. 14 8. 运行应用程序. 32 9. 总结. 36 10. 用户反馈. 37 1. 前言 这个文档基于下列环境编写: Sun JDK 1.5.0, Eclipse 3.1 和 MyEclipse 4.0.
3、 如果你注意到这个文档和你正在操作的 Eclipse/MyEclipse 的版本不一致, 在使用这个向导时遇到困难或者无法根据向导进行操作, 请参考 用户反馈 部分来了解如何汇报这个问题. 返回页首 2. 介绍 在这个教程中我们将使用 MyEclipse Enterprise Workbench 来开发一个小小的 JSF 示例程序. 不需要您对关于 JSF 和 MyEclipse 的相关知识有所了解 , 不过如果有所了解的话会更好.因为 Struts 是一个非常流行的 web 应用框架, 所以 JSF 和 Struts 之间的相似点我们适当的提示您注意, 来帮助哪些有过 Struts 开发经验
4、的读者. 然而, 如果你以前对 Struts 一无所知, 你完全可以很自在的忽略这些内容. 返回页首 3. 系统需求 下面是这个指南所使用的软件的列表: JDK 1.4+ (Sun 或者 IBM) http:/ Eclipse 3.1 SDK http:/www.eclipse.org/downloads/index.php MyEclipse 4.1 http:/ Tomcat 5.x (首选 5.5.9, 或者其它符合标准的 Servlet/EJB 容器) http:/jakarta.apache.org/tomcat/index.html 对这个简单的例子, 用户名 是 myeclips
5、e , 密码 也是 myeclipse. 注意: 在安装过 JDK 并且重启你的计算机后 , 请确保首先安装 Eclpse 然后是 MyEclpse, 最后安装 Tomca. 所有这些软件安装完毕后 , 请确保在 MyEclipse 中设置对应的 Tomcat 5 服务器设置 ; 请使用正确的 Tomcat Home 目录和你刚刚安装好的那个可用的 JDK. 如果你不知道如何在 MyEclipse 中设置 Tomcat, 你可以参考 使用应用服务器 Application Servers 快速入门向导 .返回页首 4. 设置新项目和目录结构 为了组织我们的开发过程, 我们需要在 MyEclip
6、se 中创建一个新的 Web 模块并向它添加 JSF 功能 (JSF Capabilities)模块. 你可以通过向导来创建一个 web 项目, 请通过选择菜单项File New Other Project J2EE Web Project 来打开, 如下图 4.1 所示. 图 4.1: 创建一个新的 web 项目 图 4.2: Web 项目向导对话框 这个向导可以让你自定义项目的设置, 通过在对话框的输入框里输入一些值来自定义, 如图4.2 所示. 注意: 因为开发 JSF 程序的时候流行和 JSTL 类库搭配, 所以在项目创建时建议您选择 JSTL Libraries. 然而 , 您也可以
7、在以后再来添加 JSTL 类库 , 通过选择 MyEclipse 菜单的 Add JSTL Libraries 菜单项来完成 .一旦 Web 项目创建了, 我们需要给它添加 JSF 功能. 这个操作可以通过 Package Explorer 视图的项目根节点上右键点击 , 选择弹出菜单中的 MyEclipse Add JSF Capabilities, 如图 4.3 所示. 图 4.3: 向 Web 项目添加 JSF Capabilities JSF 对话框的默认值对这个教程来说不需要修改就可以使用. 高手们也可以通过修改对话框里面的默认值来改变配置, 如图 4.4 所示. 图 4.4: 配置
8、 JSF Capabilities 这个向导结束后, 项目的目录结构将会如下图 4.5 所示. 图 4.5: 配置后的项目布局 现在项目已经创建, 我们可以开始修改并创建我们自己的应用相关的代码了. 返回页首 5. 创建消息包 让我们来通过创建一个 MessageBundle 文件正式开始我们的应用 . 这是一个简单的属性文件, 它将保存所有的消息字符串以及相关的主键. 然后这个消息包可以用在我们的任何 JSP 文件中来让我们的应用很容易的支持国际化语言. 作为类比, Struts 在这个领域提供了相似的支持, 通过使用 ApplicationResources.properties 文件,
9、以及不同的 标签, 以及bean 标签所允许的消息包属性来完成这套功能.在 JSF 里面, 我们可以在 JSP 页面里加入一行代码来加载消息包 :注意 : 这一行代码创建了一个生命周期为页面的消息包 , 这个包可以稍后在页面中通过变量名bundle来进行引用 , 可以用来查找消息主键 , 然后返回对应的消息值 .在创建消息包文件的时候, 先在源代码目录创建包 com.jsfdemo, 通过右键点击源代码目录, 然后选择弹出的菜单中的 New Package 即可完成. 要创建消息包文件, 我们使用新建文件向导, 右键点击项目的src目录, 在弹出的菜单中选择 New File , 如下图 5.
10、1 所示. 图 5.1: 创建消息包文件 当指定新建文件的保存位置时, 选择 Browse., 选中目录 /JSFLoginDemo/src/com/jsfdemo, 将文件命名为 MessageBundle.properties, 然后选择 Finish. 新建消息包文件成功后, 我们需要为每个在 JSP 里面需要显示的标签或者字符串以键值对的方式添加到属性文件中.复制图 5.2 中的内容到你的消息包文件然后保存它: MessageBundle.properties user_name_label=User Name:user_password_label=Password:login_bu
11、tton_label=Login 图 5.2: MessageBundle.properties 文件内容 现在我们的 MessageBundle 创建完毕了, 接下来我们要创建受管 Bean(ManagedBean), 它将处理我们的用户登录操作. 返回页首 6. 创建受管 Bean 在这一部分我们将会看到如何创建 ManagedBean , 这个 Bean 将会执行登录 JSP 页面所提示的登录操作, 以及保存用户输入的用户名和密码. 出于演示的目的,我们的登录操作知识简单的检查用户名和密码是不是都是 myeclipse, 然后将用户重新指引到userLoginSuccess.jsp 页面
12、. 否则它会返回到登录页面. 首先使用 MyEclipse JSF Editor 打开文件 faces-config.xml : 图 6.1: 打开并准备编辑 faces-config.xml 文件 在 MyEclipse 4.0 中 faces-config.xml 编辑器已经比以前的版本有所增强, 你不仅可以创建和管理应用程序流程(浏览规则 Navigation Cases), 还可以通过大纲(Outline)视图来创建/修改并管理所有资源. 你可以点击大纲视图右上角的下箭头按钮来添加新的 bean, 如图6.2: 图 6.2: 通过大纲视图启动 ManagedBean 向导 现在你会看到
13、新建 Managed Bean 向导对话框; 请按照下面的图 6.3 和 6.4 所示来输入值: 图 6.3: 设置新 ManagedBean 的类和属性 图 6.4: Managed Bean 向导完成页面 你现在会注意到新的 UserBean 被添加到 Outline 视图 , 如图 6.5 所示: 图 6.5: UserBean 现在显示在 Outline 视图 同时新建的 UserBean.java 源文件也在 Java 编辑器中打开了: 图 6.6: UserBean Java 源代码在编辑器中打开 注意我们的两个属性(username 和 password)的 getters 和
14、setters 方法已经自动生成了, 所以对这个类唯一需要做的就是添加并实现 loginUser 方法 , 这个方法将会在用户登录时调用. 下面的图 6.7 显示了 loginUser 方法的代码片断. 请将这个代码复制粘贴到你自己的文件里, 并添加必要的新的类的 import 语句: UserBean.java public String loginUser() if(myeclipse.equals(getUserName() & myeclipse.equals(getPassword()return success;FacesContext facesContext = FacesCo
15、ntext.getCurrentInstance();FacesMessage facesMessage = new FacesMessage(You have entered an invalid user name and/or password);facesContext.addMessage(loginForm, facesMessage);return failure; 图 6.7: 新建的 UserBean.java 文件中的 loginUser 代码片断 仔细看看 bean 的代码, 我们可以注意到一些独特之处.例如, UserBean 类并没有继承或者实现绑定到 JSF 的任何类或者接口. 它仅仅是一个简单的包含了额