`
jsupport
  • 浏览: 38730 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

JSF学习及应用二-(用例)

阅读更多
 

实例1

1、 创建一个JSP

2、 在相同的路径下,用.jsf扩展名访问.jsp文件。

Jsf使用同名的JSP来作为程序的展现,所以,可以通过JSF扩展名结尾的URL地址访问JSP页面。(为此,可能需要编写一个过滤器,将所有对JSP的访问全部重定向到同名的jsf扩展名结尾的URL地址)

实例2

我们创建一个表单,并提供一个按钮,点击按钮之后转向另外一个页面,这就涉及到了JSF页面编写的基本规则,以及页面导航。

l         首先创建一个JSP文件(jsf_01.jsp),并在JSP页面添加JSFTAG LIB

<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>

<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>

l         添加viewform标签以及命令按钮

JSF的页面是由JSF的组件树组成的。这叫view view标签是视图的根,其它所有的JSF标签,必须被一个view标签包含!

form标签是页面表单。其它一些组件,比如文本输入框必须被包含在一个form标签的内部。

如:

<f:view>

    <h:form>

       <h:commandButton action="success"/>

    </h:form>

</f:view>

action 的值,是命令的结果,即点击之后,导向success

l         创建另外一个JSP文件(jsf_01_success.jsp

<%@ page language="java" contentType="text/html; charset=GB18030"

    pageEncoding="GB18030"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=GB18030">

<title>Insert title here</title>

</head>

<body>

转向成功

</body>

</html>

l         现在,我们需要在第一个页面和第二个页面之间建立关联,因为第一个页面有一个命令,它的结果是success。我们需要在faces-config.xml中配置导航规则。

<faces-config >

    <navigation-rule>

       <from-view-id>/jsf/test/jsf_01.jsp</from-view-id>

       <navigation-case>

           <from-outcome>success</from-outcome>

           <to-view-id>/jsf/test/jsf_01_success.jsp</to-view-id>

       </navigation-case>

    </navigation-rule>

</faces-config>

运行jsf_01.jsp之后,将出现一个命令按钮,点击之后,将转向jsf_01_success.jsp

实例3

实例2中,只有一个命令按钮,我们在实例3中将多添加一个命令按钮,并增加一个转向:

Jsf_01.jsp改为:

<f:view>

    <h:form>

       <h:commandButton action="success" value="转向成功页面"/>

       <h:commandButton action="error" value="转向失败页面"/>

    </h:form>

</f:view>

Value 是显示的按钮的值。

添加jsf_01_error.jsp

<%@ page language="java" contentType="text/html; charset=GB18030"

    pageEncoding="GB18030"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=GB18030">

<title>Insert title here</title>

</head>

<body>

转向错误

</body>

</html>

修改faces-confi.xml文件:

<faces-config >

    <navigation-rule>

       <from-view-id>/jsf/test/jsf_01.jsp</from-view-id>

       <navigation-case>

           <from-outcome>success</from-outcome>

           <to-view-id>/jsf/test/jsf_01_success.jsp</to-view-id>

       </navigation-case>

       <navigation-case>

           <from-outcome>error</from-outcome>

           <to-view-id>/jsf/test/jsf_01_error.jsp</to-view-id>

       </navigation-case>

    </navigation-rule>

</faces-config>

重新运行测试!

实例4

在实例23中,都是静态转向,也就是说,在命令按钮中规定了转向(成功或失败)。现在,我们需要动态的转向。也就是说,点击按钮之后,需要执行一个命令,根据命令的执行结果,决定转向!

这时候,我们需要一个支持的Java BeanBacking Bean):

我们编写一个 非常简单的BackingBean01.java

package com. web.jsf.test;

public class BackingBean01 {

       public String gogogo(){

              if(Math.random() > 0.5 ){

                     return "success";

              }

              return "error";

       }

}

然后,我们需要在faces-config.xml文件中注册这个Bean

    <managed-bean>

       <managed-bean-name>firstbean</managed-bean-name>

        <managed-bean-class>com.web.jsf.test.BackingBean01</managed-bean-class>

       <managed-bean-scope>request</managed-bean-scope>

    </managed-bean>

修改jsf_01.jsp文件为:

<f:view>

    <h:form>

       <h:commandButton action="success" value="转向成功页面"/>

       <h:commandButton action="error" value="转向失败页面"/>

       <h:commandButton action="#{firstbean.gogogo}"value="动态转向测试"/>

    </h:form>

</f:view>

在这里,action是一个动态表达式。这是JSF的表达式。Firstbeanbean的名字,后面是命令方法,这个方法返回值为String,它将决定其转向!

实例5

现在,该是传递一些数据的时候了!我们开发一个计算器,从页面上输入两个int值,计算结果将显示在另外一个页面上。

考虑JavaBean模型:

1、 BackingBean现在必须能够接收这两个int类型的值,并且需要能够输出结果,在JSF中,通过在BackingBean上定义属性做到这一点。

2、 BackingBean还应该负责计算这两个输入的值,这是一个命令方法。

我们添加number1number2result三个属性以及一个命令方法:

package com.web.jsf.test;

public class BackingBean01 {

       private int number1;

       private int number2;

       private int result;

       public int getNumber1() {

font-size: 10p

分享到:
评论

相关推荐

    jsf-by-example-源码.rar

    通过对这个源码的学习,开发者可以了解JSF应用的基本结构,如何创建和配置Managed Beans,以及如何设计和管理视图。同时,示例代码可能涵盖了错误处理、AJAX支持、国际化等方面,这些都是JSF开发中的关键点。 **7. ...

    jsf-spring-boot-starter-2.2.6.zip

    这个压缩包通常包含了用于简化JSF与Spring Boot集成的库和配置文件,使得开发者能够快速搭建一个支持JSF的Spring Boot应用。 JSF(JavaServer Faces)是一种Java Web应用程序用户界面(UI)框架,它允许开发者创建...

    jsf-spring-boot-autoconfigure-2.2.0.zip

    1. **JavaServer Faces (JSF)**:理解JSF的基本原理,包括UI组件模型、生命周期、事件处理和数据绑定,以及如何在JSF应用中整合其他技术如CDI和PrimeFaces。 2. **Spring Boot**:熟悉Spring Boot的核心特性,如...

    jsf-contract-resources-test:jsf-合同-资源-测试

    JavaScript全称是JavaScript Object Notation (JSF), 是一种轻量级的脚本语言,主要应用于Web开发领域,用于增加网页的交互性和动态功能。在"jsf-contract-resources-test"这个项目中,我们可能看到的是一个关于...

    jsf-spring-4.0.3

    5. **测试用例**:如`src/test`目录,用于验证JSF和Spring整合功能的正确性。 JSF与Spring的整合主要涉及以下几个方面: 1. **Spring MVC与JSF**:Spring MVC可以作为JSF的后端控制器,处理业务逻辑并返回数据。 2....

    core-jsf-api-1.3.zip

    通过阅读源码和相关文档,开发者可以学习到如何使用JSF来设计和实现复杂的Web应用,同时了解如何利用Maven和XP框架进行敏捷开发实践。开源的特性使得这些知识和工具更易于获取和应用,对于个人技能提升和团队协作都...

    jsf-spring-hibernate整合

    此外,为了调试和测试,开发者通常会创建一些示例页面和测试用例,验证JSF、Spring和Hibernate的整合是否正确。例如,创建一个简单的CRUD(创建、读取、更新、删除)应用程序,展示如何通过JSF界面操作由Spring管理...

    weld-jsf-translator-ftest-1.2.0.Beta1.zip

    综合以上信息,这个项目可能是围绕Weld和JSF创建的一个服务,该服务能够与MusicBrainz的封面艺术API进行交互,可能是为了在Java应用中方便地展示和管理音乐的封面图片。同时,由于涉及到测试和数据绑定,项目还包含...

    一个jsf企业级程序示例

    在JSF应用中,iBATIS可以作为数据库操作的中间件,将业务逻辑与数据库查询分离,提高代码的可读性和可维护性。 4. **企业级应用架构**:一个典型的企业级应用通常包括多个模块,如用户认证、权限管理、数据访问、...

    JSF+Hibernate+Spring整合完整例子

    可能包含了配置文件(如`applicationContext.xml`、`faces-config.xml`)、实体类(对应Hibernate的映射文件)、DAO接口和实现、服务类、JSF页面(`.xhtml`文件)以及相关的测试用例。通过学习和实践这个例子,...

    JSF集成Spring_Framework和Hibernate开发应用实例

    【JSF集成Spring Framework和Hibernate开发应用实例】的详述 ...此外,文中提到的JCatalog应用是一个理想的案例,可以用来探讨和学习如何在实际项目中应用这些技术,从而解决诸如MVC集成、安全管理和性能优化等问题。

    JSF开发所需的jar包

    在实际开发中,开发者还需要IDE支持,如Eclipse或NetBeans,以及Tomcat、GlassFish等应用服务器来部署和运行JSF应用。同时,了解MVC模式、组件树、生命周期管理、Facelets模板语言等概念,对于深入理解和使用JSF至关...

    JSF+Spring+Hibernate简单列子

    在"JSFSpringHibernate"这个例子中,可能包含了配置文件(如Spring的beans.xml和JSF的faces-config.xml)、源代码(包括JSF Managed Beans、Spring Beans和Hibernate Entity类)、以及可能的测试用例。这些文件展示...

    JSF+Spring+Hibernate的实例讲解.doc

    JavaServer Faces (JSF)、Spring Framework 和 Hibernate 是构建现代 Web 应用程序的三个关键技术。JSF 是一种用户界面框架,适用于基于 Model-View-Controller (MVC) 架构的应用程序,提供了丰富的组件库和事件驱动...

    SPBT 源码学习笔记 - spbt-0707-test-java-web

    1. **Java Web开发**:Java Web是指使用Java技术栈开发的Web应用程序,包括Servlet、JSP、JavaServer Faces (JSF)等技术。开发者通常会用它们来构建动态网站、企业级应用后端等。 2. **Java测试**:Java提供了多种...

    JSF+Hibernate_Spring

    **JSF(JavaServer Faces)** 是一个Java平台上的用户界面框架,用于构建Web应用程序。它提供了一种组件化和事件驱动的方式来创建交互式的Web应用。JSF的核心是UI组件库,这些组件可以轻松地在HTML页面上进行布局和...

    JSF+EJB3的J2ee项目源码

    本项目源码提供了JSF与EJB3结合的实际应用示例,帮助开发者深入理解这两种技术的集成与应用。** **JavaServer Faces (JSF)** JSF是一种用于构建用户界面的Java规范,它为Web应用程序提供了一个模型-视图-控制器...

    JSF Spring hibernate2

    这种整合方式使得JSF应用可以利用Spring的强大功能,如AOP、事务管理和数据访问等。 **RichFaces** 是一个基于JSF的UI组件库,它提供了许多富客户端组件和动画效果,使得开发者能够创建交互性更强、用户体验更好的...

    jsf-burndown-chart:jsf、d3js、scrum、简单燃尽图

    这个项目对于学习如何在JSF应用中集成数据可视化,特别是对于那些在Scrum环境中工作的开发者来说,具有很高的参考价值。通过理解并实践这些技术,开发者可以提高团队的效率和透明度,更好地管理项目进度。

    JSF+Spring+Hibernate的实例讲解

    本文将深入探讨如何利用JavaServer Faces (JSF)、Spring Framework 和 Hibernate 这三种流行的技术来构建一个实际的Web应用程序,并给出具体的应用实例——JCatalog,在线产品目录系统。 #### 二、技术背景 **Java...

Global site tag (gtag.js) - Google Analytics