在创建Web Project时,需要选择J2EE Specification Level,如果选择了J2EE 1.4还好,能使用MyFaces 1.1.5,如果选择了Java EE 5.0,则死活选不了MyFaces,很郁闷,经过n次试验,终于把MyFaces 1.2.4加入到了应用中,步骤如下:
1)新建Web Project,在J2EE Specification Level选项中选择Java EE 5.0。
2)将myfaces-core-1.2.4-bin包中的commons-beanutils-1.7.0.jar,commons-codec-1.3.jar,commons-collections-3.2.jar,commons-digester-1.8.jar,commons-logging-1.1.1.jar复制到WEB-INF\lib文件夹下。
3)下载tomahawk-1.1.6.jar(http://apache.mirror.phpchina.com/myfaces/binaries/tomahawk-1.1.6-bin.zip
)和common-fileupload-1.2.1(http://apache.mirror.phpchina.com/commons/fileupload/binaries/commons-fileupload-1.2.1-bin.zip)和common-el.jar(http://apache.mirror.phpchina.com/commons/el/binaries/commons-el-1.0.zip),然这三个包也复制到WEB-INF\lib文件夹下。
4)web.xml配置如下:
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
<filter>
<filter-name>MyFacesExtensionsFilter</filter-name>
<filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
<init-param>
<param-name>uploadMaxFileSize</param-name>
<param-value>20m</param-value>
<!-- <description>Set the size limit for uploaded files.
Format: 10 - 10 bytes
10k - 10 KB
10m - 10 MB
1g - 1 GB
</description>-->
</init-param>
</filter>
<!-- extension mapping for adding <script/>, <link/>, and other resource tags to JSF-pages -->
<filter-mapping>
<filter-name>MyFacesExtensionsFilter</filter-name>
<!-- servlet-name must match the name of your javax.faces.webapp.FacesServlet entry -->
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
<!-- extension mapping for serving page-independent resources (javascript, stylesheets, images, etc.) -->
<filter-mapping>
<filter-name>MyFacesExtensionsFilter</filter-name>
<url-pattern>/faces/myFacesExtensionResource/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
5)在WEB-INF\lib下新增faces-config.xml,如下:
<faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
</faces-config>
6)新建一个测试页面,模板选择JSF模板
在合适的位置添加如下代码:
在<f:view></f:view>中间插入测试代码:
<t:outputLabel id="a" value="think8848" />
</h:form>
启动Tomcat,如果不出意外,就应该能正常显示think8848字样了。