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