`
tntxia
  • 浏览: 1507354 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

第一个JSF程序

阅读更多

个JSF程序

 

现在可以开发一个简单的程序了,我们将设计一个简单的登入程序,使用者送出名称,之后由程序显示使用者名称及欢迎讯息。

程序开发人员

先看看应用程序开发人员要作些什么事,我们撰写一个简单的JavaBean:

UserBean.java
package


 onlyfun.caterpillar;

 public


 class UserBean {
    private


 String


 name;

    public


 void setName(String


 name) {
        this


.name = name;
    }

    public


 String


 getName() {
        return


 name;
    }
 }

  这个Bean将储存使用者的名称,编译好之后放置在/WEB-INF/classes下。

  接下来设计页面流程,我们将先显示一个登入网页/pages/index.jsp,使用者填入名称并送出窗体,之后在/pages/welcome.jsp中显示Bean中的使用者名称与欢迎讯息。

  为了让JSF知道我们所设计的Bean以及页面流程,我们定义一个/WEB-INF/faces-config.xml:

faces-config.xml
<?xml version="1.0"


?>
 <!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>login</from-outcome>
            <to-view-id>/pages/welcome.jsp</to-view-id>
        </navigation-case


>
    </navigation-rule>

    <managed-bean>
        <managed-bean-name>user</managed-bean-name>
         <managed-bean-class>
             onlyfun.caterpillar.UserBean
         </managed-bean-class>
        <managed-bean-scope>session</managed-bean-scope>
    </managed-bean>
 </faces-config>

  在<navigation-rule>中,我们定义了页面流程,当请求来自<from-view- id>中指定的页面,并且指定了<navigation-case>中的<from-outcome>为login时,则会将请求导向至<to-view-id>所指定的页面。

  在<managed-bean>中我们可以统一管理我们的Bean,我们设定Bean对象的存活范围是session,也就是使用者开启浏览器与程序互动过程中都存活。

  接下来要告诉网页设计人员的信息是,他们可以使用的Bean名称,即<managed-bean-name>中设定的名称,以及上面所定义的页面流程。

网页设计人员

  首先网页设计人员撰写index.jsp网页:

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=Big5"


%>
 <html>
 <head>
 <title>第一个JSF程序</title>
 </head>
 <body>
    <f:view>
        <h:form>
            <h3>请输入您的名称</h3>
            名称: <h:inputText value="#{user.name}"


/><p>
            <h:commandButton value="送出"


 action="login"


/>
        </h:form>
    </f:view>
 </body>
 </html>

  我们使用了JSF的core与html标签库,core是有关于UI组件的处理,而html则是有关于HTML的进阶标签。

  <f:view>与<html>有类似的作用,当您要开始使用JSF组件时,这些组件一定要在<f: view>与</f:view>之间,就如同使用HTML时,所有的标签一定要在<html>与< /html>之间。

  html卷标库中几乎都是与HTML卷标相关的进阶卷标,<h:form>会产生一个窗体,我们使用<h: inputText>来显示user这个Bean对象的name属性,而<h:commandButton>会产生一个提交按钮,我们在action属性中指定将根据之前定义的login页面流程中前往welcome.jsp页面。

  网页设计人员不必理会窗体传送之后要作些什么,他只要设计好欢迎页面就好了:

welcome.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=Big5"


%>
 <html>
 <head>
 <title>第一个JSF程序</title>
 </head>
 <body>
    <f:view>
        <h:outputText value="#{user.name}"


/> 您好!
        <h3>欢迎使用 JavaServer Faces!</h3>
    </f:view>
 </body>
 </html>

  这个页面没什么需要解释的了,如您所看到的,在网页上没有程序逻辑,网页设计人员所作的就是遵照页面流程,使用相关名称取出数据,而不用担心实际上程序是如何运作的。

  接下来启动Container,连接上您的应用程序网址,例如:http://localhost:8080/jsfDemo/pages/index.faces,填入名称并送出窗体,您的欢迎页面就会显示了。

 

注意,不要用index.jsp请求页面,不然会报“Cannot find FacesContext”的异常

 

 

分享到:
评论

相关推荐

    JSF的第一个程序

    在这个环境中,我们将探讨如何在Eclipse集成开发环境(IDE)中,结合Tomcat 7.0应用服务器和JDK 1.7来创建并运行你的第一个JSF程序。 **1. 安装和配置环境** 首先,你需要确保已安装以下软件: - **Eclipse IDE**: ...

    jsf第一个例子 jsf架包 jsf实例

    在“jsf第一个例子”中,我们通常会遇到以下关键概念: 1. **JSF生命周期**:JSF有六个主要阶段,包括恢复视图、应用请求值、处理验证、更新模型值、调用应用业务逻辑以及渲染响应。开发者可以在这些阶段插入自定义...

    jsf 登录验证程序

    1. **用户身份验证**:这是登录过程的第一步,通过用户名和密码来确认用户的身份。在JSF中,这通常通过后台Bean(Managed Bean)处理,该Bean会检查输入的凭证是否匹配数据库或其他认证源中的记录。 2. **HTML表单*...

    sun jsf第一个程序

    在学习这个"sun jsf第一个程序"的过程中,你会了解到如何集成所有这些组件来创建一个完整的JSF应用程序。通过实践,你将掌握JSF的基本概念和工作原理,为进一步深入学习JSF打下坚实基础。同时,这也会帮助你理解Web...

    JSF基础教程 简体中文

    o 第一个JSF程序 o 简单的导航 Navigation o 导航规则设置 o JSF Expression Language o 国际化讯息 Managed Beans JSF 使用 Bean 来达到逻辑层与表现层分离的目的,Bean 的管理集中在组态档案中,您只要修改组态...

    JSF入门教程

    在开始编写第一个JSF程序之前,需要确保已经安装了必要的软件和工具,如Java Development Kit (JDK) 和 JavaServer Faces 实现。通常,JSF程序会包括一个XHTML页面,该页面使用JSF组件进行布局,并通过托管Bean来...

    JSF配置.pdf

    #### 1.2 第一个JSF程序 一个典型的JSF程序包括几个主要组件:JSF页面、Managed Beans、配置文件等。开发者需要编写JSF页面,这些页面包含HTML和JSF标签。Managed Beans用于处理应用程序逻辑,而配置文件(如faces-...

    JSF第一步

    这篇教程——"JSF第一步",显然旨在引导初学者进入JSF的世界,帮助他们理解并掌握这个强大的Web开发工具。下面将详细阐述JSF的基础知识,以及从给出的文件名中我们可以期待学习到的内容。 首先,让我们了解JSF的...

    JSF学习笔记

    #### 1.1.2 第一个JSF程序 在开始构建JSF应用程序之前,了解基本的程序结构至关重要。一个简单的JSF程序通常包括以下几个组成部分: - **XML配置文件**(web.xml):定义应用程序的基本设置,如初始化参数和拦截器...

    JSF入门级教程

    创建第一个JSF程序需要以下步骤: * 创建一个新的JavaEE项目 * 添加JSF框架的依赖项 * 创建一个简单的JSF页面 * 配置JSF框架 1.3 简单的导航Navigation JSF框架提供了一个简单的导航机制,允许开发者定义页面之间...

    jsf第一步

    在《jsf第一步》这本书的第13章中,我们很可能会探讨JSF的更高级主题,例如自定义组件、数据验证、国际化和本地化,以及可能的性能优化策略。 首先,让我们深入了解一下JSF的核心概念: 1. **组件模型**:JSF的...

    JSF第一个应用

    在这个“JSF第一个应用”中,我们将深入探讨如何创建一个基本的JSF应用。 ### 一、JSF框架概述 JSF框架提供了一系列的UI组件和事件处理机制,允许开发者使用声明式的方式构建用户界面。它遵循MVC(Model-View-...

Global site tag (gtag.js) - Google Analytics