MyEclipse8.5 开发JSF简例详述 Cjj整理上传
简介
本例详细描述用 MyEclipse 8.5 开发 JSF web 应用的过程。使用的lib 文件自行添加。(
常用架包) (本例改编自 MyEclipse 8.0 帮助
文档。) 1.安装 MyEclipse 8.5(略) 2.创建 web 应用:
操作菜单:File -> New -> Web Project, 输入 Project Name: MyJSF, 把 J2EE Specification Level 改为:
Java EE 5.0。 点 Finish 。 测试:
操作菜单:Run -> Run As -> MyEclipse Server Application。 应该在 Console 中显示 MyEclipse Tomcat 启动输出信息,并在 MyEclipse Web Browser 中显示 localhost:8080/MyJSF/。 页面输出: This is my JSP page.
3.加入 JSF 能力:
在 “Package Explorer”中选中项目 MyJSF, 然后操作菜单:MyEclipse -> Project Capabilities -> Add JSF Capabilities..., 在显示的对话框中,不做任何修改,直接点击 Finish。 查看:
1. 发现 web.xml 文件加入了 FacesServlet 的配置; 2. 产生了 faces-config.xml 文件。
4.创建一个 Bean (JSF 称之为 managed bean):
打开 faces-config.xml, MyEclipse 提供了这个文件的三种呈现视图: Flow, Design 和 Source, 点击 Design, 在 faces-config 列表中选中 Managed Beans, 会出现 Managed Beans 编辑表格,点击 Add..., 把 Scope 设置成 Session, Class:写成 com.myjsf.UserBean, Name 写成 UserBean。最后 点击 Finish。 查看:
1. 在 src 目录下 生成了com/myjsf/UserBean.java 文件。 2. 在 faces-config.xml 中加入了 UserBean 的配置信息。 为 UserBean 添加属性:
在 faces-config (Design 视图)
列表中选中 Managed Beans -> UserBean, 在 Properties 编辑表格中,点击 Add..., 在 Property-Name 中录入: userName, 然后点击 Finish。 用同样的方法加入属性: password。 查看:
UserBean.java 文件加入了两个属性和它们的 setter/getter 方法代码。
为 UserBean 添加 Action:(能被 form 表单调用的Action) 在 UserBean.java 加入方法 login, 代码如下:
public String login() {
if("cjj".equals(getUserName()) &;&; "123".equals(getPassword())) return "success";
FacesContext facesContext = FacesContext.getCurrentInstance();
FacesMessage facesMessage = new FacesMessage(
"You have entered an invalid user name and/or password");
facesContext.addMessage("loginForm", facesMessage);
return "failure"; }
后面将
演示,这个方法如何被调用。 5.创建 login.jsp 和 loginok.jsp
打开 faces-config.xml 文件,这次使用 Flow 编辑器,在左面工具栏中,点击具有“J”标志的工具框,在编辑器空白处点击鼠标,会弹出此
JSP 信息编辑对话框, FileName: 改成 login.jsp。 Template to use: 改成 Default JSF Template。 点击 Finish。 用同样的方法,创建 loginok.jsp。
本例的目标是用户在 login.jsp 中输入用户名和密码后,提交的请求被UserBean 处理,如果验证正确, 则页面跳转到 loginok.jsp, 如果不成功,则仍然返回 login.jsp。
点击带有右箭头的工具框, 顺序点击 login.jsp 和 loginok.jsp, 会出现一个箭头, 并弹出对话框,在 From Outcome 中填入 success。( 这个success 与上面 login 方法中的返回值 “success” 对应),意思是说,UserBean 处理完 login.jsp 的请求,返回成功时,则跳转到 loginok.jsp 页面。
再点击带有右箭头的工具框, 顺序点击 login.jsp 两次,会出现一个闭合的箭头,并弹出对话框,在 From Outcome 中填入 failure。 (这个 failure 与上面 login 方法中的返回值 “failure” 对应),意思是说,UserBean 处理完 login.jsp 的请求,返回失败时,则跳转到 login.jsp 页面。
好,到此为止,本例中的 Bean 代码和 faces-config.xml 的代码都写完。 下面开始写 login.jsp 和 loginok.jsp 代码。 编辑 jsp 代码,可以用 MyEclipse 自带的 desi