- 浏览: 38730 次
- 性别:
- 来自: 北京
文章分类
实例1
1、 创建一个JSP
2、 在相同的路径下,用.jsf扩展名访问.jsp文件。
Jsf使用同名的JSP来作为程序的展现,所以,可以通过JSF扩展名结尾的URL地址访问JSP页面。(为此,可能需要编写一个过滤器,将所有对JSP的访问全部重定向到同名的jsf扩展名结尾的URL地址)
实例2
我们创建一个表单,并提供一个按钮,点击按钮之后转向另外一个页面,这就涉及到了JSF页面编写的基本规则,以及页面导航。
l 首先创建一个JSP文件(jsf_01.jsp),并在JSP页面添加JSF的TAG LIB
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %> <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %> |
l 添加view和form标签以及命令按钮
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
在实例2、3中,都是静态转向,也就是说,在命令按钮中规定了转向(成功或失败)。现在,我们需要动态的转向。也就是说,点击按钮之后,需要执行一个命令,根据命令的执行结果,决定转向!
这时候,我们需要一个支持的Java Bean(Backing 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的表达式。Firstbean是bean的名字,后面是命令方法,这个方法返回值为String,它将决定其转向!
实例5
现在,该是传递一些数据的时候了!我们开发一个计算器,从页面上输入两个int值,计算结果将显示在另外一个页面上。
考虑JavaBean模型:
1、 BackingBean现在必须能够接收这两个int类型的值,并且需要能够输出结果,在JSF中,通过在BackingBean上定义属性做到这一点。
2、 BackingBean还应该负责计算这两个输入的值,这是一个命令方法。
我们添加number1、number2、result三个属性以及一个命令方法:
相关推荐
通过对这个源码的学习,开发者可以了解JSF应用的基本结构,如何创建和配置Managed Beans,以及如何设计和管理视图。同时,示例代码可能涵盖了错误处理、AJAX支持、国际化等方面,这些都是JSF开发中的关键点。 **7. ...
这个压缩包通常包含了用于简化JSF与Spring Boot集成的库和配置文件,使得开发者能够快速搭建一个支持JSF的Spring Boot应用。 JSF(JavaServer Faces)是一种Java Web应用程序用户界面(UI)框架,它允许开发者创建...
1. **JavaServer Faces (JSF)**:理解JSF的基本原理,包括UI组件模型、生命周期、事件处理和数据绑定,以及如何在JSF应用中整合其他技术如CDI和PrimeFaces。 2. **Spring Boot**:熟悉Spring Boot的核心特性,如...
JavaScript全称是JavaScript Object Notation (JSF), 是一种轻量级的脚本语言,主要应用于Web开发领域,用于增加网页的交互性和动态功能。在"jsf-contract-resources-test"这个项目中,我们可能看到的是一个关于...
5. **测试用例**:如`src/test`目录,用于验证JSF和Spring整合功能的正确性。 JSF与Spring的整合主要涉及以下几个方面: 1. **Spring MVC与JSF**:Spring MVC可以作为JSF的后端控制器,处理业务逻辑并返回数据。 2....
通过阅读源码和相关文档,开发者可以学习到如何使用JSF来设计和实现复杂的Web应用,同时了解如何利用Maven和XP框架进行敏捷开发实践。开源的特性使得这些知识和工具更易于获取和应用,对于个人技能提升和团队协作都...
此外,为了调试和测试,开发者通常会创建一些示例页面和测试用例,验证JSF、Spring和Hibernate的整合是否正确。例如,创建一个简单的CRUD(创建、读取、更新、删除)应用程序,展示如何通过JSF界面操作由Spring管理...
综合以上信息,这个项目可能是围绕Weld和JSF创建的一个服务,该服务能够与MusicBrainz的封面艺术API进行交互,可能是为了在Java应用中方便地展示和管理音乐的封面图片。同时,由于涉及到测试和数据绑定,项目还包含...
在JSF应用中,iBATIS可以作为数据库操作的中间件,将业务逻辑与数据库查询分离,提高代码的可读性和可维护性。 4. **企业级应用架构**:一个典型的企业级应用通常包括多个模块,如用户认证、权限管理、数据访问、...
可能包含了配置文件(如`applicationContext.xml`、`faces-config.xml`)、实体类(对应Hibernate的映射文件)、DAO接口和实现、服务类、JSF页面(`.xhtml`文件)以及相关的测试用例。通过学习和实践这个例子,...
【JSF集成Spring Framework和Hibernate开发应用实例】的详述 ...此外,文中提到的JCatalog应用是一个理想的案例,可以用来探讨和学习如何在实际项目中应用这些技术,从而解决诸如MVC集成、安全管理和性能优化等问题。
在实际开发中,开发者还需要IDE支持,如Eclipse或NetBeans,以及Tomcat、GlassFish等应用服务器来部署和运行JSF应用。同时,了解MVC模式、组件树、生命周期管理、Facelets模板语言等概念,对于深入理解和使用JSF至关...
在"JSFSpringHibernate"这个例子中,可能包含了配置文件(如Spring的beans.xml和JSF的faces-config.xml)、源代码(包括JSF Managed Beans、Spring Beans和Hibernate Entity类)、以及可能的测试用例。这些文件展示...
JavaServer Faces (JSF)、Spring Framework 和 Hibernate 是构建现代 Web 应用程序的三个关键技术。JSF 是一种用户界面框架,适用于基于 Model-View-Controller (MVC) 架构的应用程序,提供了丰富的组件库和事件驱动...
1. **Java Web开发**:Java Web是指使用Java技术栈开发的Web应用程序,包括Servlet、JSP、JavaServer Faces (JSF)等技术。开发者通常会用它们来构建动态网站、企业级应用后端等。 2. **Java测试**:Java提供了多种...
**JSF(JavaServer Faces)** 是一个Java平台上的用户界面框架,用于构建Web应用程序。它提供了一种组件化和事件驱动的方式来创建交互式的Web应用。JSF的核心是UI组件库,这些组件可以轻松地在HTML页面上进行布局和...
本项目源码提供了JSF与EJB3结合的实际应用示例,帮助开发者深入理解这两种技术的集成与应用。** **JavaServer Faces (JSF)** JSF是一种用于构建用户界面的Java规范,它为Web应用程序提供了一个模型-视图-控制器...
这种整合方式使得JSF应用可以利用Spring的强大功能,如AOP、事务管理和数据访问等。 **RichFaces** 是一个基于JSF的UI组件库,它提供了许多富客户端组件和动画效果,使得开发者能够创建交互性更强、用户体验更好的...
这个项目对于学习如何在JSF应用中集成数据可视化,特别是对于那些在Scrum环境中工作的开发者来说,具有很高的参考价值。通过理解并实践这些技术,开发者可以提高团队的效率和透明度,更好地管理项目进度。
本文将深入探讨如何利用JavaServer Faces (JSF)、Spring Framework 和 Hibernate 这三种流行的技术来构建一个实际的Web应用程序,并给出具体的应用实例——JCatalog,在线产品目录系统。 #### 二、技术背景 **Java...