快速建立JSF环境...

第一步,当然是要将JSF的jar档放对位置...

目录/文件

 

 

说明
Tutorial工程目录

 

 

  /antANT 脚本目录,默认为 build.xml

 

 

  /srcJava 源文件, .properties 文件所在目录。

 

 

  /public_htmlJSP/JSF 等动态网页所在目录。

 

 

    /WEB-INFWEB应用运行时的配置文件、类库等,相对浏览器来说不可见。

 

 

      /classesJava源文件编译后的输出目录。

 

 

      /lib项目所依赖的类库。

 

 

        jsf-impl.jar

 

        jsf-api.jar

JSF 1.1 的类库,当然还有一些Jakarta Common类库的jar档!

 

 

      web.xmlWEB应用部署的配置文件

 

 

      faces-config.xmlJSF配置文件
    pagesJSP、JSF和HTML

 

 

然后,修改web.xml,请注意,如果web.xml的格式为 version="2.4" 的话,是不需要显示指定taglib使用的tld文件的...我们只需要增加与JSF Servlet相关的定义:

<?xml version="1.0" encoding="UTF-8"?>

 

<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/j2eehttp://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">

  <description>J2EE Tutorial Project</description>

  <display-name>Tutorial</display-name>

  <session-config>

    <session-timeout>30</session-timeout>

  </session-config>

  <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>

  <welcome-file-list>

    <welcome-file>index.jsp</welcome-file>

  </welcome-file-list>

</web-app>

然后,在/WEB-INF下面新增faces-config.xml,内容如下:

<?xml version="1.0" encoding="UTF-8"?>

 

<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTDJavaServer Faces Config 1.1//EN""http://java.sun.com/dtd/web-facesconfig_1_1.dtd">

<faces-config xmlns="http://java.sun.com/JSF/Configuration">

  <managed-bean>

    <managed-bean-name>userBean</managed-bean-name>

    <managed-bean-class>tutorial.beans.UserBean</managed-bean-class>

    <managed-bean-scope>request</managed-bean-scope>

    <managed-property>

      <property-name>username</property-name>

      <property-class>java.lang.String</property-class>

      <value>Shark Wang</value>

    </managed-property>

  </managed-bean>

  <navigation-rule>

    <from-view-id>/pages/login.jsp</from-view-id>

    <navigation-case>

      <from-outcome>greeting</from-outcome>

      <to-view-id>/pages/greeting.jsp</to-view-id>

    </navigation-case>

  </navigation-rule>

</faces-config>

 

完成上面的步骤后,JSF并不会自动启动起来,我们需要一个jsp来启动JSF...index.jsp代码如下:

<%@page pageEncoding="UTF-8"%>

 

<jsp:forward page="/pages/login.faces" />

开始运行...发现遇到一个很晕的错误...就是:

ApplicationDispatcher[/Tutorial]: Servlet.service() for servlet Faces Servlet threw exception

 

java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config

    at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:140)

    at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)

    at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)

    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)

    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)

 

原来,JSF还依赖于JSTL啊~~~也不见JSF文档中有提啊...郁闷,加入JSTL的jstl.jar和standard.jar后就一切OK了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值