JSF页面
当用户制作Facelets页面时,会将JSF标签添加到一个XHTML页面中。一个XHTML页面仅仅是是HTML页面,该页面同时也是符合标准的XML。我们为Facelets页面使用扩展名.xhtml。
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html">
</html>
第二行声明了JSF HTML标签的h:前缀。JSF实现也定义了一个独立于HTML的核心标签集合。如果用户自己的页面中需要此类标签,就必须添加一个名称空间声明:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
</html>
如果用户使用其他供应商提供的标签库,就需要提供额外的名称空间声明。注意:用户可以选择自己喜欢的任何标签前缀。
JSF页面与HTML表单类似。注意以下区别:
- 用户的页面必须被正确格式化为XHTML。与浏览器不同,JSF实现并不容忍语法错误。
- 不使用head、body、form,而是改用h:head、h:body和h:form。
- 不使用熟悉的input HTML标签,而是改用JSF提供的h:inputText、h:inputSecret和h:commandButton等标签。
Servlet配置
在应用服务器中部署JSF应用程序时,用户需要提供一个名为web.xml的配置文件。所有JSF页面都传入Faces Servlet中,该Servlet是JSF实现代码的一部分。当请求JSF页面时,为了确保激活正确的Servlet,JSF URL必须要使用一个特殊格式。在我们的配置中,它们都有一个前缀/faces。servlet-mapping元素确保了所有带有该前缀的URL都由Faces Servlet来处理。
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>30</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>faces/index.xhtml</welcome-file>
</welcome-file-list>
</web-app>
注意1:如果用户查看一个不带/faces前缀的JSF页面,浏览器将在页面中显示HTML标签,但会忽略JSF标签。
注意2:用户也可以定义一个扩展映射来替代/faces前缀映射。在web.xml文件中使用以下指令:
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
然后使用URL http://localhost:8080/index.faces。这个URL激活Faces Servlet。然后JSF实现去除faces前缀并加载文件/index.xhtml。
注意3:严格地讲,JSF页面并非XHTML文件,它们的目的仅在于生成这类文件。如果想为JSF页面文件使用.jsf扩展名,可将下面的条目添加到web.xml文件中:
<context-param>
<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
<param-value>.jsf</param-value>
</context-param>
但是这个配置仅影响Web开发人员,而不影响Web应用程序的用户。URL仍然使用.faces扩展名或/faces前缀。
注意4:假定下列任何一种情况都适用,一些应用服务器会自动为/faces/*、*.faces和*.jsf模式提供Servlet映射:
- Web应用程序中的任何一个类使用JSF注解。
- 任何初始化参数以javax.faces开头。
- 存在WEB-INF/faces-config.xml文件。
如果用户不需要设置其他任何参数,甚至不必提供web.xml文件。
最后指定一个参数,它将增加对调试JSF应用程序的支持。
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
项目阶段的选项有Development、UnitTest、SystemTest和Production。在开发阶段,用户会得到更多供参考的错误消息。
分享到:
相关推荐
JavaServer Faces(JSF)是一种由Sun Microsystems开发的MVC(Model-View-Controller)框架,用于构建J2EE平台上的Web应用程序。JSF的核心理念是通过可重用的服务器端组件来创建用户界面,简化Web应用程序的开发。在...
### J2EE JSF 简介 #### 1. 什么是JSF? JavaServer Faces (JSF) 是一种用于构建Web应用程序的标准Java框架。它采用了一种以组件为中心的方法来开发Java Web用户界面,这大大简化了开发过程。JSF不仅吸引了广大的...
JavaServer Faces (JSF) 简介与深入解析 一、JSF概述:JSF是一种标准的Web应用框架,其核心目标在于简化Web应用程序的开发过程,提供一种清晰的编程模型,支持重用组件,并能自组件构建HTML。JSF在设计上考虑到了与...
由于JSF的资源较少,继[JSF视频轻松搞定]后,现在接着发布xiaobo原创视频,希望大家多多支持! 有两部分,这是第一部分,第2个压缩包,共4个压缩包!~
由于JSF的资源较少,继[JSF视频轻松搞定]后,现在接着发布xiaobo原创视频,希望大家多多支持! 有两部分,这是第一部分,第3个压缩包,共4个压缩包!~
由于JSF的资源较少,继[JSF视频轻松搞定]后,现在接着发布xiaobo原创视频,希望大家多多支持! 有两部分,这是第一部分,第4个压缩包,共4个压缩包!~ 接着会发第二部分。
由于JSF的资源较少,继[JSF视频轻松搞定]后,现在接着发布xiaobo原创视频,希望大家多多支持! 有两部分,这是第二部分,第1个压缩包,共2个压缩包!~
由于JSF的资源较少,继[JSF视频轻松搞定]后,现在接着发布xiaobo原创视频,希望大家多多支持! 有两部分,这是第二部分,第2个压缩包,共2个压缩包!~
JSF简介** JSF是一个MVC(Model-View-Controller)框架,它简化了创建和维护动态Web页面的过程。JSF提供了组件模型,允许开发者使用预定义的UI组件来构建用户界面,这些组件可以方便地在服务器端处理用户交互。 **...
一、JSF简介 JSF是Java EE标准的一部分,由Oracle公司维护。它提供了一种声明式的方式来处理Web页面和后端服务器之间的交互,减少了开发者编写大量HTML和JavaScript代码的需求。JSF的核心理念是通过组件化的方式来...
#### 一、JSF简介及重要性 **JSF**(JavaServer Faces)是一种基于组件的模型视图控制器(Model-View-Controller, MVC)框架,用于简化Java Web应用程序的开发过程。随着互联网的发展,Web应用变得越来越复杂,管理页面...
Ajax4JSF简介 Ajax4JSF 是基于JSF 1.x 和 RichFaces 3.x 的一个组件库,旨在简化JSF应用中的Ajax集成。它提供了多种预定义的Ajax行为和组件,使得开发人员能够通过声明式的方式在JSF页面上添加Ajax特性,提高用户...
1. JSF简介: JSF是一个MVC(模型-视图-控制器)架构的框架,简化了创建基于Java的动态Web页面的过程。它将业务逻辑与用户界面分离开来,使得开发和维护更加高效。JSF使用可重用的UI组件,如按钮、表单和数据展示...
**JSF简介** JavaServer Faces(JSF)是一种MVC(模型-视图-控制器)框架,由Java Community Process(JCP)开发。它简化了用户界面组件的创建和管理,通过XML配置文件和JavaBeans组件实现视图与模型的分离。JSF的...
1. JSF简介 JSF是Java社区过程(JCP)发起的项目,提供了一种标准化的方式来构建组件化、基于事件驱动的Web应用程序。它允许将用户界面层的HTML内容与后端业务逻辑分离开来,提供了一种系统化的组件模型,使得用户...
一、JSF简介 JSF是Java EE规范的一部分,它简化了开发人员创建基于Java的Web应用的过程。JSF提供了一组可重用的UI组件,可以像HTML元素一样在页面上使用。这些组件通过后台的数据模型与业务逻辑进行交互,从而实现...
**JSF简介** JSF的核心是UI组件,它们通过自定义标记在JSP页面中使用,这些标记与renderer关联,使得组件可以以多种方式呈现。例如,同一个UI组件可以用不同的renderer来呈现HTML或其他格式。UIComponent、Renderer...
Ajax4JSF简介 Ajax4JSF是RichFaces项目的一部分,旨在简化JSF应用中的Ajax开发。它通过在JSF组件上添加Ajax行为,使得开发者可以在不刷新整个页面的情况下更新部分视图。这极大地提高了网页的响应速度和交互性。 ...