`
whoosh
  • 浏览: 235039 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

JSF入门四(简单的导航)

    博客分类:
  • JSF
 
阅读更多

http://www.javaworld.com.tw/confluence/pages/viewpage.action?pageId=2630

 

在 第一个JSF程序 中,我们简单的定义了页面的流程由 index.jsp 到 welcome.jsp,接下来我们扩充程序,让它可以根据使用者输入的名称与密码是否正确,决定要显示欢迎信息或是将使用者送回原页面进行重新登入。

 

一、修改一下UserBean:

package bruce.zhao.model;

public class UserBean {

	private String name;
	private String password;
	private String errMessage;

	public void setName(String name) {
		this.name = name;
	}

	public String getName() {
		return name;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getPassword() {
		return password;
	}

	public void setErrMessage(String errMessage) {
		this.errMessage = errMessage;
	}

	public String getErrMessage() {
		return errMessage;
	}

	public String verify() {
		if (!name.equalsIgnoreCase("Bruce") || !password.equals("123456")) {
			errMessage = "名称或密码错误";
			return "failure";
		} else {
			return "success";
		}
	}
}

在UserBean中,我们增加了密码与错误信息属性,在verify()方法中,我们检查使用者名称与密码,它传回一个字符串,"failure"表示登入错误,并会设定错误信息,而"success"表示登入正确,这个传回的字符串将决定页面的流程。

 

二、faces-config.xml 中的页面流程定义:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE faces-config PUBLIC
"-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
"http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
<faces-config>
	<navigation-rule>
		<from-view-id>/pages/index.jsp</from-view-id>
		<navigation-case>
			<from-outcome>success</from-outcome>
			<to-view-id>/pages/welcome.jsp</to-view-id>
		</navigation-case>
		<navigation-case>
			<from-outcome>failure</from-outcome>
			<to-view-id>/pages/index.jsp</to-view-id>
		</navigation-case>
	</navigation-rule>
	
	<managed-bean>
		<managed-bean-name>user</managed-bean-name>
		<managed-bean-class>
			bruce.zhao.model.UserBean
	</managed-bean-class>
		<managed-bean-scope>session</managed-bean-scope>
	</managed-bean>
</faces-config>

根据上面的定义,当传回的字符串是"success"时,将前往 welcome.jsp,如果是"failure"的话,将送回 index.jsp。
接下来告诉网页设计人员Bean名称与相关属性,以及决定页面流程的verify名称,我们修改 index.jsp 如下:

<%@taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@page contentType="text/html;charset=GB2312"%>
<html>
<head>
<title>第一个JSF程序</title>
</head>
<body>
<f:view>
	<h:form>
		<h3>请输入您的名称</h3>
		<h:outputText value="#{user.errMessage}" />
		<p>名称: <h:inputText value="#{user.name}" /></p>
		<p>密码: <h:inputSecret value="#{user.password}" /></p>
		<p><h:commandButton value="送出" action="#{user.verify}" /></p>
	</h:form>
</f:view>
</body>
</html>

 action属性中使用 JSF Expression Language "#{user.verify}",用户点击“送出”button的时候,相当于调用了UserBean的verify方法。outputText里面user.errMessage相当于调用了UserBean的getErrMessage方法,如果这个get方法没有值,就不显示。user.verify如果验证错误,会setErrMessage,这时候再返回index页面,页面上就会有错误信息。

分享到:
评论

相关推荐

    JSF入门+JSF web实战+JSF2

    本系列资料包括《JSF入门》、《JSF Web应用实战开发》和《JSF2》,旨在帮助初学者快速掌握JSF的核心概念和技术。 《JSF入门简体中文版》是学习JSF的基础,它涵盖了JSF的基本架构、组件库、生命周期和事件处理等方面...

    清晰版--JSF入门.pdf

    ### JSF入门知识点详解 #### 一、JSF概述 **1.1 简介JSF** JavaServer Faces (JSF) 是一种基于Java的标准技术,用于构建企业级Web应用。JSF的设计目的是简化Web应用程序的开发过程,通过封装HTTP协议的复杂性,...

    JSF入门必读——JSF入门基础

    1. JSF入门 JSF的基础在于它的组件模型,这些组件可以直接映射到HTML元素,并且可以处理用户的输入。JSF提供了丰富的UI组件库,如按钮、表单、文本框等,开发者可以通过声明式的方式在页面上使用这些组件。 开发...

    java JSF入门

    这篇文档将引导你逐步入门JSF,从基础概念到实际应用,为你提供全面的学习指导。 ### 1. 入门 #### 1.1 简介 JSF JSF 是一种组件模型框架,它将UI元素(如按钮、文本框等)抽象为组件,允许开发者通过编程或XML...

    jsf入门列子和jsf与Tiles结合

    在上述的JSF入门例子中,我们首先看到的是`UserBean.java`,这是个简单的实体类,模拟了用户登录的情景。它包含了用户名`name`、密码`password`以及错误消息`errMessage`等属性,并提供了相应的getter和setter方法。...

    JSF入门级教程

    JSF入门级教程 JSF(JavaServer Faces)是一种基于JavaEE的Web应用...JSF入门级教程提供了一个详细的JSF Framework概述,包括JSF的特点、组件模型、导航机制、国际化机制、Managed Beans、数据转换与验证等知识点。

    jsf入门(pdf格式)

    4. **EL和JSF表达式**:学习如何使用EL表达式来绑定组件属性和bean的属性,以及如何执行简单的计算和方法调用。 5. **导航和转换**:掌握如何在不同页面间进行导航,以及如何进行数据转换和验证。 6. **应用部署**:...

    jsf入门实例教程

    **JSF(JavaServer Faces)入门实例教程** JavaServer Faces(JSF)是Java平台上的一个用于构建Web应用程序的UI框架。它简化了用户界面组件的创建和管理,提供了MVC(模型-视图-控制器)架构,使得开发人员可以更...

    JSF简单入门例子

    在这个“JSF简单入门例子”中,我们将深入探讨JSF的基本概念、关键组件以及如何创建一个简单的JSF应用程序。 **1. JSF基本概念** - **组件模型**:JSF的核心是组件模型,它定义了UI组件及其交互方式。组件可以是...

    JSF入门.zip

    "JSF入门文档"很可能是包含JSF基础教程、组件使用示例、配置指南等内容的资源集合,可以帮助初学者快速掌握JSF的基本概念和用法。文档可能包括以下部分: 1. JSF简介:介绍JSF的历史、目标和基本原理。 2. 安装与...

    《JSF入门》简体中文版.pdf

    JSF入门通常涉及以下步骤: - 搭建JSF开发环境; - 创建第一个JSF应用程序; - 实现简单的导航流程; - 配置和应用导航规则; - 使用JSF表达式语言; - 应用国际化信息。 3. Managed Beans JSF中的Managed Beans是...

    JSF入门深入学习最新版本

    本文档主要讲述的是JSF入门深入学习;JSF为JAVA的 Web应用用户界面的开发人员提供了标准的编程接口、丰富可扩展的UI组件库(一个核心的JSP标记库用来处理事件、执行验证以及其他非UI相关的操作和一个标准的HTML 标记...

    jsf入门简体中文

    对于初学者,可以通过阅读《JSF入门》这样的书籍或在线教程,快速掌握JSF的基本用法和概念。同时,社区如Stack Overflow、Java EE官方文档以及各种开源项目,都是学习JSF的好去处。 总结,JSF作为Java EE的重要组成...

    JSF 入门实例 代码

    **JSF(JavaServer Faces)** 是一个Java平台上的...对于初学者,通过实践"JSF入门实例代码"中的例子,可以快速掌握JSF的基础知识,并逐步深入到更高级的主题,如Mojarra和MyFaces实现的差异,以及CDI和JSF的集成等。

    JSF入门中文教程(标签,入门)

    这个"JSF入门中文教程"针对的就是这种需求,帮助初学者快速掌握JSF的基础知识。 ### JSF入门基础 JSF的核心概念包括**组件(Components)**、**事件(Events)**和**生命周期(Lifecycle)**。组件是JSF界面的基本...

    JSF入门代码

    在"JSF入门代码"这个实例中,我们可以看到一个简单的JSF应用的创建过程。开发者通常会使用JSF提供的UI组件,如按钮、文本框等,将它们与后端的JavaBeans(也称为Managed Beans)进行绑定,从而实现数据的显示和交互...

    JSF入门资料收集

    以上是JSF入门所需掌握的基本概念和特性。通过学习这些知识点,开发者可以快速构建功能丰富的Java Web应用程序。提供的压缩包文件很可能是包含JSF教程、示例代码和文档,特别是提到的英文资料,对于深入理解和实践...

Global site tag (gtag.js) - Google Analytics