JSF开发需知
首先,JSF是表示层的框架,是Java的标准。在未来的发展中,有可能所有的J2EE应用服务器都需要支持JSF(Java Server Faces)。
开发JSF几点比较要注意的地方:
(1)web工程启动时首先要在web.xml中加载jsf的配置信息,代码如下:

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<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>*.cy</url-pattern>
</servlet-mapping>
</web-app>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<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>*.cy</url-pattern>
</servlet-mapping>
</web-app>

在这里要注意,比如我的工程是test,<url-pattern>*.cy</url-pattern>在页面请求的时候要写成,http://localhost:8000/test/index.cy
(2)然后就是写jsf的配置文件faces-config.xml,在配置文件中比较重要的几个节点有
<faces-config>所有的节点都包含在该节点之下。
<navigation-rule>定义的是页面的流程.包含以下接点.
<from-view-id>定义了指定来自哪个页面的请求<from-view-id>/index.jsp</from-view-id>
<navigation-case>具体指定index.jsp提交后跳转到哪个页面,他有2个接点,一个是<from-outcome>login</from-outcome>一个是<to-view-id>/welcome.jsp</to-view-id>当请求来字<from-view-id>中指定的页面,并且<navigation-case>中的<from-outcome>为login时,就会将请求导向到<to-view-id>所指定的页面.
<managed-bean>节点,定义了formbean,类似于struts中的表单form,代码如下:
<managed-bean>
<managed-bean-name>user</managed-bean-name>定义了bean的别名
<managed-bean-class>具体bean的位置,路径要写全
onlyfun.caterpillar.UserBean
</managed-bean-class>bean的存活范围
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
(3)就是编写jsp页面,首先引入jsf的自定义标签,
<% @ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>http://java.sun.com/jsf/core之间要有引号
<% @ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
如果要使用jsf的组件时,这些组件在jsp中一定要放在<f:view>与</f:view>之间,就象html一样
(2)然后就是写jsf的配置文件faces-config.xml,在配置文件中比较重要的几个节点有
<faces-config>所有的节点都包含在该节点之下。
<navigation-rule>定义的是页面的流程.包含以下接点.
<from-view-id>定义了指定来自哪个页面的请求<from-view-id>/index.jsp</from-view-id>
<navigation-case>具体指定index.jsp提交后跳转到哪个页面,他有2个接点,一个是<from-outcome>login</from-outcome>一个是<to-view-id>/welcome.jsp</to-view-id>当请求来字<from-view-id>中指定的页面,并且<navigation-case>中的<from-outcome>为login时,就会将请求导向到<to-view-id>所指定的页面.
<managed-bean>节点,定义了formbean,类似于struts中的表单form,代码如下:
<managed-bean>
<managed-bean-name>user</managed-bean-name>定义了bean的别名
<managed-bean-class>具体bean的位置,路径要写全
onlyfun.caterpillar.UserBean
</managed-bean-class>bean的存活范围
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
(3)就是编写jsp页面,首先引入jsf的自定义标签,
<% @ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>http://java.sun.com/jsf/core之间要有引号
<% @ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
如果要使用jsf的组件时,这些组件在jsp中一定要放在<f:view>与</f:view>之间,就象html一样
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
2008-12-24 Spreadsheet 对象