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>       
复制代码
复制代码
说明
在这里要注意,比如我的工程是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一样 
复制代码

 

posted @   温景良(Jason)  Views(459)  Comments(0Edit  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 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 对象
点击右上角即可分享
微信分享提示