第一个 JSF 程序
开门第一篇,当然是要做一个 JSF 程序,增强点信心和兴趣吧,很简单的一个 welcome 程序,比 helloworld 高级一点吧,呵呵,
先做个基础,才好做后面的事嘛。
1. 首先从 SUN 网站下载 JSF1.1 : http://java.sun.com/javaee/javaserverfaces/download.html 。由于 1.2 的支持
情况还不完善,建议使用 1.1 。
2. 用 eclipse 建立一个 web 项目,把下载的 ZIP 文件中的 LIB 中的 JAR 包复制到, WEB 项目的 LIB 下。
3. 在 WEB-INF 在建立两个文件,一个是 web.xml 用于配置 web 应用,另一个是 faces-config.xml 用于配置 jsf 的信息。首先
建立 WEB-INF 下的 web.xml 文件,主要是配置 jsf 的 servlet ,不详细说明了。
<? xml version="1.0" encoding="ISO-8859-1" ?>
2
3 < web-app xmlns ="http://java.sun.com/xml/ns/j2ee"
4 xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance"
5 xsi:schemaLocation ="http://java.sun.com/xml/ns/j2ee
6 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
7 version ="2.4" >
8
9 < description >
10 JSF Demo
11 </ description >
12 < display-name > JSF Demo </ display-name >
13 < servlet >
14 < servlet-name > Faces Servlet </ servlet-name >
15 < servlet-class >
16 javax.faces.webapp.FacesServlet
17 </ servlet-class >
18 < load-on-startup > 1 </ load-on-startup >
19 </ servlet >
20
21 < servlet-mapping >
22 < servlet-name > Faces Servlet </ servlet-name >
23 < url-pattern > *.faces </ url-pattern >
24 </ servlet-mapping >
25
26 < welcome-file-list >
27 < welcome-file > index.jsp </ welcome-file >
28 </ welcome-file-list >
29 </ web-app >
4.编写一个JavaBean,也就是一个managed-bean,它是JSF吹棒自己的一个优势:POJO对象,负责处理后台业务:
<? xml version="1.0" ?>
2 <! DOCTYPE faces-config PUBLIC
3 "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
4 "http://java.sun.com/dtd/web-facesconfig_1_0.dtd" >
5
6 < faces-config >
7 < navigation-rule > <! —- 导航规则-- >
8 < from-view-id > /index.jsp </ from-view-id > <! —- 限定于此页的规则-- >
9 < navigation-case >
10 < from-outcome > welcome </ from-outcome > <! —- action中使用的导航名称-- >
11 < to-view-id > /welcome.jsp </ to-view-id > <! —-要跳转到的目标-- >
12 </ navigation-case >
13 </ navigation-rule >
14
15 < managed-bean >
16 < managed-bean-name > user </ managed-bean-name > <! —- bean的名称-- >
17 < managed-bean-class > <! —- bean 的类名-- >
18 jsf.bean.UserBean
19 </ managed-bean-class >
20 < managed-bean-scope > session </ managed-bean-scope > <! —- bean的生命周期-- >
21 </ managed-bean >
22 </ faces-config >
5.编写index.jsp文件,里面有一个输入框,输入你的名称,点击提交,就跳转到welcome.jsp页面了。
1 <!-- 引入JSF核心库 -->
2 <% @taglib uri = " http://java.sun.com/jsf/core " prefix = " f " %>
3 <!-- 引入JSF html库 -->
4 <% @taglib uri = " http://java.sun.com/jsf/html " prefix = " h " %>
5 <% @page contentType = " text/html;charset=Big5 " %>
6 < html >
7 < head >
8 < title > 第一个JSF程序 </ title >
9 </ head >
10 < body >
11 < f:view > <! —- 表明下面是JSF渲染的内容 -- >
12 < h:form > <! —- html库中的form , inputText,commandButton标签,相当于html标准中的<form > < input type =
”text” >< button > -->
13 < h3 > 您的名称: </ h3 >
14 <! —- 将输入的值保存到user bean的name属性 -- >
15 < h:inputText value ="#{user.name}" />< p >
16 < h:commandButton value ="提交" action ="welcome" />
17 <!-- 这里的 action=”welcome”
就是上面faces-config.xml中配置的navigation-rule,当点击提交时,就会跳转到welcome.jsp -->
18 </ h:form >
19 </ f:view >
20 </ body >
21 </ html >
22
6. 编写welcome.jsp文件,用于显示一个欢迎提示信息。
1 <% @ taglib uri = " http://java.sun.com/jsf/core " prefix = " f " %>
2 <% @ taglib uri = " http://java.sun.com/jsf/html " prefix = " h " %>
3 <% @page contentType = " text/html;charset=Big5 " %>
4 < html >
5 < head >
6 < title > 第一个JSF程序 </ title >
7 </ head >
8 < body >
9 < f:view >
10 <! —- 显示 user bean的 name属性 -- >
11 < h:outputText value ="#{user.name}" /> 您好!
12 < h3 > 欢迎进入JSF的世界 </ h3 >
13 </ f:view >
14 </ body >
15 </ html >
16 .把本项目(jsfdemo)部署到Tomcat5下,打开浏览器输入 http://localhost:8080/jsfdemo
cannot find facescontext
或者你看看 WEB-INF/web.xml 中 Faces Servlet 是 servlet-mapping 到哪个 url-pattern
分享到:
相关推荐
1. **自主可控**:为了解决第一代框架存在的问题,京东于2014年开始自主研发新的服务框架——JSF。 2. **全面升级**:吸取了旧版本的运营经验,在功能设计上进行了针对性的改进和完善。 3. **核心技术**: - **RPC...
- **第1章:入门与基础** ——介绍JSF 2.0的基本概念和技术背景。 - **第2章:组件开发与使用** ——讲解如何使用JSF的内置组件以及如何创建自定义组件。 - **第3章:数据处理** ——介绍如何在JSF应用程序中处理...
### J2EE框架技术——Struts&JSF教学大纲解析 #### 一、课程目标与对象 本课程旨在深入理解并掌握J2EE框架技术中关键的Struts和JSF框架,具体目标包括: 1. **理解Struts框架**:熟悉Struts框架的基本概念、架构...
这个【标题】"JavaServer Faces 核心编程(第二版)源码"指的是一个关于JSF技术的书籍——《JavaServer Faces核心编程》的第二版的源代码。这个【描述】提及了书中第十二章涉及Seam和Shale的部分,这两个都是在早期...
"mojarra-2.0.0-EDR1-binary.zip" 文件中包含的是JSF 2.0的第一个草稿版本——2.0.0 Early Development Release 1 (EDR1),虽然它标记为草稿,但其稳定性和功能性已经足够供开发者使用和探索。 **JSF 2.0 的核心...
"java毕业设计" 描述简洁,但明确指出这是一个针对Java编程的学习或研究项目,可能是大学生或研究生为了完成学业而进行的。毕业设计通常要求学生综合运用所学知识,解决实际问题,因此我们可以预期这个项目会包含多...
尽管这项技术令人振奋,但是它的说明文档却仍然少得可怜——大多数的指南都太简单,那些要编写复杂Web应用程序的开发人员根本找不到所需的关键信息。本书第二版为了填补这个信息缺口,针对最近发布的Struts 1.1版...
《JSP程序设计》是Java Web开发领域的一本经典教材,第二版由耿祥义和张跃平两位专家编著,清华大学出版社出版。这本书旨在帮助读者深入理解和掌握JSP(JavaServer Pages)技术,它是Java EE平台中用于构建动态网页...
【描述】描述中的"(1)-论文.zip"表明这是一个系列中的第一部分,可能是一篇详细阐述项目开发过程和技术实现的学术论文。通常,这样的论文会涵盖系统的需求分析、设计、实现和测试等各个阶段。 【标签】"论文"提示...
总的来说,通过研究这些源码,开发者可以学习到如何设置Hibernate环境,设计和映射实体类,编写DAO(数据访问对象)层的代码,以及如何将Hibernate与其他技术(如JSF或Flex)结合使用。这样的实践不仅有助于提升技能...
《Java Web编程宝典——十年典藏版》是一本深入探讨Java Web开发的权威书籍,其源码提供了丰富的实例,帮助读者深入理解并实践相关技术。这本书覆盖了从基础到高级的Java Web开发各个方面,包括Servlet、JSP、Java...
"chapter5"这个文件名可能暗示了该源码是某个教程或系列项目的一部分,可能是第五个章节的内容。这通常意味着它可能包含一些更高级或者进阶的概念,比如用户权限控制、分页显示、缓存机制等。在深入研究源码时,理解...
- **第1章:J2EE架构** - 深入介绍J2EE的体系结构及其组成部分,包括不同组件类型(如Servlets、EJBs、JSP页面和Servlet过滤器)以及它们之间的交互方式。 - 探讨J2EE如何为开发者提供灵活的选择,并讨论各种架构...
其目标明确而远大——打造一款能够替代现有商业课程管理系统的通用平台,旨在促进教学、学习以及学术研究中的协作与创新。Sakai不仅支持全面或部分在线的学习环境,还具备高度的灵活性和可定制性,能够适应不同教育...