第12章一个简单的JSF应用.pptVIP

  • 1
  • 0
  • 约3.83千字
  • 约 20页
  • 2016-08-21 发布于重庆
  • 举报
第12章一个简单的JSF应用

第12章 一个简单的JSF应用 12.1 功能要求 功能: 从页面输入用户名称和密码,然后提交;如果用户名和密码正确,则显示用户登录成功,否则显示错误信息,并让用户重新登录。 要求: 对页面输入的用户名称和密码进行验证,要求用户名和密码不能为空,密码的长度不少于6位。 12.2 开发步骤 开发一个简单的JSF应用的基本任务: 创建使用UI组件和core标签的页面。 在应用配置资源文件中定义页面导航。 开发辅助bean。 将bean声明添加到应用配置资源文件中。 ※ 各任务可以顺序进行,也可以多人同时进行,但要注意协作。开发之前先做好初步设计。 初步设计 页面设计: 登录页面:loginForm.jsp  在这个页面中要求用户输入用户名和密码,然后提交数据。因此需要设置两个文本框,还有一个提交按钮。 登录成功页面:welcome.jsp  在这个页面中显示当前登录用户的姓名,并显示“登录成功,欢迎你!!!”。 登录失败页面:error.jsp  在这个页面中显示登录失败的信息,显示“用户名或密码错误!”,并显示“重新登录”超链接。 初步设计 辅助Bean设计 UserValidator.java  属性:无。  方法:判断用户名和密码是否正确的validator方法。 LoginBean.java  属性:用户名,用户密码  方法:对用户名和密码进行操作的getter和setter方法,并调用UserValidator的方法进行校验。 开发步骤 创建Web工程 工程名:login 添加对JSF的支持:在Web工程上右键点击,选择MyEclipse|add JSF Capabilities 编写辅助bean 新建包validator,并在包中新建一个类UserValidator.java,添加对用户名和密码的相关校验代码。 新建包backing,在这个包中新建一个类LoginBean.java,添加相关代码。 配置辅助Bean 在JSF应用资源配置文件faces-config.xml中配置前面定义的辅助bean。这样,页面制作人员就可以在页面上的组件标签中使用统一EL访问bean属性。配置步骤如下: 在工程login上右击,选择“new|other...” 选择“MyEclipse|Web-JSF|Managed Bean”,然后点击Next 输入各域值:Name=userValidator ,Scope=session ,Class=validator. UserValidator,点击Finish 继续用同样的方法配置另一个辅助Bean。在这个Bean中还需添加属性uv并设置其值为EL表达式:#{userValidator}  如图12.9-12.14所示。 定义页面导航 首先创建3个JSP文件,它们是:登录页面(loginForm.jsp)、登录成功页面(welcome.jsp)、登录失败页面(error.jsp)。创建时选择的模板为“Default JSF Template”,暂时不输入任何代码。 定义页面导航的方法有两种,一种是通过菜单“New|Others”→ “MyEclipse|Web-JSF|Navigation Rule”进行,另一种是在打开faces-config.xml文件后在其design页面中点击右键,选择Navigation Rule进行。设置过程如图12.15-12.21所示。 ※ 完成后就可在faces-config.xml的Source和Design页面中查看和修改相关设置。 编写JSP页面 向JSP中添加JSF组件的方法有两种: 一种是使用MyEclipse提供的图形化设计工具,直接将相应的组件(例如,文本框、按钮等)拖到JSP页面中; 另一种方法是直接使用编辑器将对应的代码写入JSP文件中。 添加代码 loginForm.jsp welcome.jsp error.jsp 配置部署描述符 ?xml version=1.0 encoding=UTF-8? web-app xmlns=/xml/ns/j2ee xmlns:xsi=/2001/ XMLSchema-instance version=2.4 xsi:schemaLocation=/xml/ns/j2ee /xml/ns/j2ee/web-app_2_4.xsd context-param param-namejavax.faces.CONFIG_FILES/param-name param-value/WEB-INF/faces-config.xml/param-value /context-param servlet servlet-nameFaces Servl

文档评论(0)

1亿VIP精品文档

相关文档