JSF(Java Server Face)的使用和经验

类别:Java 点击:0 评论:0 推荐:

对在eclipse+myeclipse中使用java server face(JFS)的办法:
根据myeclipse的简介操作jsf的创建向导,创建一个jsf项目。具体内容如下:
   1.j2ee的web project工程的创建
   2.添加jsf的包到工程(Adding JSF Capabilities to a Web Project)
      创建相关的包和配置文件.
   3.添加jfs页面(jsp中一种特殊的格式的文件)
   注:页面中一般都有引入两个包的taglib如下:
   <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %> //主要是页面处理的taglib
   <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %> //主要是页面显示的封装的taglib,例如从包中.properties中提取关键的可配置的显示。
   4.创建相关的包和类.通常是用于处理的class.(也就是javabean)
   5.根据需要些需要修改或再写javabean和jsf。
   7.要修改配置文件:例如.properties文件,face-config.xml文件等
   6.同一般的部署方法部署到服务器上。即可运行。(对服务器的版本的要求比较高,weblogic8.1对这些taglib有警告)

解释一下:
  1.对于一些可配置的页面内容,可以放到相关的包下。然后在jfs文件中
     <f:loadBundle basename="com.Login.MessageBundle" var="bundle"/>
      其中com.Login.MessageBundle表示对com.Login包下的MessageBundle.properties文件内容的名值对的引用
          bundle在jfs文件中是变量,拥有.properties文件中的名作为属性,名对应的值即为属性值。他可以被其他地方引用。
  2.通过faces-config.xml文件使javabean和jf之间进行通信。类似于struts-config.
    <faces-config>
    <navigation-rule>
        <from-view-id>/Login.jsp</from-view-id><---首先显示的页面,他的处理结果来自于javaBean,但是后继的页面的显示通过返回的<from-outcome>对应的标示,并用<to-view-id>来指明。-->
        <navigation-case>
            <from-outcome>success</from-outcome>
            <to-view-id>/LoginSuccessfully.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>failure</from-outcome>
            <to-view-id>/Login.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>
    <managed-bean><--对使用的bean的定义-->
        <description>Bean used to handle all User-based operations.</description>
        <managed-bean-name>UserBean</managed-bean-name>
        <managed-bean-class>com.Login.Use.UserBean</managed-bean-class>
        <managed-bean-scope>session</managed-bean-scope>   <--表示适用会话期间-->
    </managed-bean>
</faces-config>
3.对于标签的属性的细节可以参看相关的.tld文件。
4.页面可以直接使用,设置,请求javaBean中的方法和属性。
    例如: <h:commandButton id="submit" action="#{UserBean.loginUser}"  //直接请求对应的javaBean的方法
                                value="#{bundle.login_button_label}"/>
5.jsf文件本身是一个jsp文件(以jsp为后缀名),而在请求时则要用对应的.faces文件来请求。

总结:JSF只是不仅可分离处理业务和表示,还分离页面的内容。这样不仅实现处理和页面的分离,还实现了页面内容的分离。

本文地址:http://com.8s8s.com/it/it10496.htm