`
tntxia
  • 浏览: 1488214 次
  • 性别: 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+ tomcat7.0 +jdk1.7环境下编写的JSF第一个程序。可直接在eclipse下使用tomcat7.0服务器直接运行!

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

    第一个JSF程序,初学JSF者必备,jsf架包 jsf实例

    sun jsf第一个程序

    一个简单的jsf登陆程序,jsf入门第一个程序

    JSF基础教程 简体中文

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

    JSF框架使用入门(初学jsf必备)

    想学会写第一个jsf程序吗!它能帮助你。

    JSF教程 中文版

    部分内容截取: 1. 入门 1.1 简介JSF 1.2 第一个JSF程序 1.3简单的导航 Navigation 1.4导航规则设置 1.5 JSF Expression Language 1.6国际化信息 ......

    JSF入门pdf

    1.2 第一个JSF程序 1.3简单的导航 Navigation 1.4导航规则设置 1.5 JSF Expression Language 1.6国际化信息 2. Managed Beans 2.1 Backing Beans 2.2 Beans的配置与设定 2.3 Beans上的List, Map 3. 数据转换与验证 ...

    JSF入门必看

    1.1 简介 JSF 1.2 第一个 JSF 程序 1.3 简单的导航 Navigation 1.4 导航规则设置 1.5 JSF Expression Language 1.6 国际化信息 2. Managed Beans

    JSF教程 适合初学者

    JSF 初级教程,开发工具 MyEclipse ,内部有详细文档,手把手一步步的教你创建出第一个JSF 程序,绝对经典

    第1部分-增强JSF页面的外观

    第1部分-增强JSF页面的外观(CSS、JavaScript和JSF联合打造 Ajax应用程序).zip

    为 JSF 量身定做的应用程序框架

    为 JSF 量身定做的应用程序框架,JavaServer Faces (JSF) 是用于 Java™ Web 应用程序的第一个标准化的用户界面框架。而 Seam 是一个扩展 JSF 的强大的应用程序框架。在这个由三部分组成的新系列中的第一篇文章中,...

    JavaServer Faces 2.0完全参考手册(JSF2.0中文版) 1/2

    这是2个压缩包中的第二个,请一并将第一个下载后,随便解压其中一个即可。 如果只希望下载其中一部分即可阅读,可下载另一个pdf: http://download.csdn.net/detail/oqqsun12345678/5215337 内容简介 出版日期: ...

    java server face 教程

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

    JSF技术入门教材手册

    JSF入门教材 --------------------------------- JavaServer Faces 1_2 入门,第 1 部分 构建基本应用程序 JavaServer Faces 1_2 入门,第 1 部分 构建基本应用程序 JSF技术入门教材手册.rar

    JSF编程实战导航光盘

    其中第1~3章为基础部分,介绍JSF基本知识、JSF导航相关的基础知识、JSF托管Bean相关的基础知识等。第4~10章介绍JSF实战,主要通过介绍实用知识点来了解相关的经典案例,结合企业开发中要注意的事项,分类予以说明;...

    JSF1.2+EJB3.0实现的一个项目实例

    项目说明:  本实例是一个用JSF1.2+EJB3.0实现的员工CRUD的一个实例,业务非常简单,主要是为了演示这两种技术的使用。若与商业应用类同,纯属巧合。 &lt;br&gt;2.源码说明: &lt;br&gt; 1)本项目开发环境 操作...

    JavaServer Faces 2.0完全参考手册(JSF2.0中文版).part1

    这是2个压缩包中的第一个,请与第二个一并下载,然后随便解压其中一个即可。如果只想下载其中一部分,可下载pdf: http://download.csdn.net/detail/oqqsun12345678/5215337 这个pdf是665页中的前404页,后面200多页...

    联合使用 CSS、JavaScript 和 JSF 精心打造 Ajax 应用程序

    在这个由两部分组成的系列文章的 第 1 部分 中,作者和 Java™ 开发人员 Andrei Cioroianu 展示了如何使用 JavaServer Faces (JSF) 组件的样式属性以及如何为这些属性设置默认值。在本系列的第二个部分中,我们将...

    Seam - 无缝集成 JSF

    JavaServer Faces (JSF) 是用于 Java™ Web 应用程序的第一个标准化的用户界面框架。而 Seam 是一个扩展 JSF 的强大的应用程序框架。在这个由三部分组成的新系列中的第一篇文章中,发现这两种框架之间的互补性。Dan ...

Global site tag (gtag.js) - Google Analytics