`
yingfang05
  • 浏览: 124234 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

jsf第一讲

    博客分类:
  • 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=GB2312"%>
<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=GB2312"%>
<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,填入名称并提交表单,您的欢迎页面就会显示了。
分享到:
评论

相关推荐

    jsf第三讲事件监听

    在JavaScript Server Faces (JSF) 中,事件监听是框架的核心特性之一,它允许开发者处理用户在Web界面中的交互。JSF事件模型基于JavaBeans事件模型,使得组件间能够通过事件进行通信,增强了组件间的协作能力。本...

    韩顺平_细说jsp第1讲.开山篇

    【标题】"韩顺平_细说jsp第1讲.开山篇" 是一个由知名IT讲师韩顺平主讲的JSP(Java Server Pages)技术入门教程,旨在帮助初学者理解和掌握JSP的基本概念和核心语法。在这个“开山篇”中,韩顺平老师将引导我们走进...

    浪曦\浪曦_Struts2应用开发系列_第1讲

    - **创建第一个Struts2应用**:创建一个简单的Hello World程序,了解Action类、配置文件(struts.xml)的作用以及结果类型映射。 - **配置Web.xml**:配置Struts2的核心过滤器`struts2-convention-plugin`或`...

    第1讲 Java EE技术概述

    ### 第1讲 Java EE技术概述 #### 一、Java 平台分类及概述 Java 平台由 Sun 公司开发,并根据不同应用领域分为三个主要版本:Java SE(标准版)、Java EE(企业版)和 Java ME(微型版)。这三个版本各自针对不同...

    第3讲基于EJB的企业级信息系统开发技术-课堂.pptx

    对比Struts,JSF提供了更多的内置功能和标签库,虽然两者在功能上有所重叠,但JSF的设计目标更倾向于提供一个完整的模型,特别在IBM等公司的工具支持下,JSF逐渐成为企业级Web开发的首选。 一个典型的Java EE应用...

    博和利J2EE初级培训 PPT

    第一讲“博和利初级培训第一讲.ppt”可能涵盖了J2EE的基础知识,包括介绍J2EE的历史、特点以及与Java SE(标准版)的区别。它可能还会涉及J2EE的主要组成部分,如Servlet、JSP(JavaServer Pages)、EJB(Enterprise...

    ejb3 第5讲--通过ANT提高EJB应用的开发效率

    **ejb3 第5讲 -- 通过ANT提高EJB应用的开发效率** EJB(Enterprise JavaBeans)是Java EE平台中的核心组件,用于构建企业级应用程序。EJB 3.0是一个重要的里程碑,它极大地简化了EJB的开发,提高了开发效率。在本...

    struts2权威指南全版(分10部分)

    Struts 1是全世界第一个发布的MVC框架,它由Craig McClanahan在2001年发布,该框架一经推出,就得到了世界上Java Web开发者的拥护,经过长达6年时间的锤炼,Struts 1框架更加成熟、稳定,性能也有了很好的保证。...

    javaee的程序设计

    在"第一讲.txt"可能涉及JavaEE的基础概念介绍,而"BookStoreSys"可能是一个示例项目,展示了一个基于JavaEE的书店管理系统的设计和实现,包括用户注册登录、书籍浏览、购买等功能,涵盖了上述许多JavaEE技术的实战...

    JAVA的阅读资料11

    在提供的文件列表中,我们看到一个名为"第五课讲议.xls"的文件。这很可能是课程的第五课讲义,包含了关于Java EE的特定主题或概念的教学材料。在Excel格式中,它可能包含表格、图表、练习或者讲解,帮助学习者理解并...

    Oracle9i备课笔记——吕海东

    第1讲 Oracle9i简介 目的: 1. 了解数据库的发展,关系数据库的基本原理。 2. 了解目前市场上流行的数据库产品及特点 3. 了解Oracle数据库的发展 4. 掌握Oracle9i产品系列 5. 掌握Oracle9i Database Server的新特点...

    java初学者的工具ppt文件

    但无论如何,《Thinking In Java》绝对不应该作为你入门Java的第一本书籍! 记住,网络上学习Java的资源很多,但基本不够系统,拥有一本Java入门书籍,是你系统学习Java的基础。 2)准备Java学习环境。 准备你的学习...

    整理后java开发全套达内学习笔记(含练习)

    以“%”开头,[第几个数值$][flags][宽度][.精确度][格式] printf()的引入是为了照顾c语言程序员的感情需要 格式化输出 Formatter;格式化输入 Scanner;正则表达式 输出格式控制: 转义符: \ddd 1到3位8...

    Java经典入门教程pdf完整版

    由 Sun Microsystems第一次推向Java团体。它是一项能更好满足Java开发人员不同需求 的广泛倡议的一部分。 Sun Microsystems将JM定义为“一种以广泛的消费性产品为目标 的高度优化的Java运行时环境,包括寻呼机、移动...

Global site tag (gtag.js) - Google Analytics