虽然现在(MyEclipse)ME5.5已经能支持JSF1.1了,但想在ME中开发JSF1.2的话,还需
要做以下设置。
首先要去sun(http://java.sun.com/javaee/javaserverfaces/)现在最新的JSF1.2(我
下的是jsf-1.2_04),下完后解压该包,以备用。
在ME5.5中新建web project,并添加JSF支持(选J2EE1.4,并勾上下面的JSTL支持,选
JSTL1.1,然后finish)
然后在WEB-INF中可以看到除了faces-config.xml,web.xml以外(在ME5.1中没有的许多
tld文件)
接下来的步骤很重要,不然会出很多问题。
将刚才解压的jsf-1.2_04中lib中的
web-facesconfig_1_0.dtd
web-facesconfig_1_1.dtd
XMLSchema.dtd
(注意:不要将其他几个dtd,tld文件拷贝进去,不然会有错误显示,主要是
html_basic.tld文件报错。。。暂时我还不知道怎么解决,只有先这样了)
拷贝到工程WEB-INF目录中(只拷贝这3个文件,主要是为了正确修改faces-
config.xml)。
并把
jsf-api.jar
jsf-impl.jar
也拷贝到WEB-INF/lib目录下
接下来修改ME5.5生成的faces-config.xml文件。将前面的声明换一下,下面有具体内
容。
然后是部署项目,先去www.apache.org现在tomcat6.X(我下的是apache-tomcat-
6.0.13),用tomcat5.5.X会出问题。据说是不支持JSTL2.0,而且tomcat5.5.X是在
J2EE5之前出的,可能会有某些未知的问题吧。。。
具体tomcat6.x的安装和ME5.5里的配置在这里就省略了,应该大家都知道的。记住要
把以前环境变量的TOMCAT_HOME换一下。
准备工作都做好了,就可以开始部署我们的应用了。。。
我也是看《Core JavaServer Faces 2nd Edition》做的第一个猜数字的应用。
程序内容该书中有,我主要是改了一些地方。如下:
faces-config.xml
=============================================================
<?xml version="1.0" encoding="UTF-8"?>
<faces-config 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-facesconfig_1_2.xsd"
version="1.2">
<application>
<locale-config>
<default-locale>zh_CN</default-locale>
<supported-locale>en</supported-locale>
</locale-config>
</application>
<navigation-rule>
<from-view-id>/index.jsp</from-view-id>
<navigation-case>
<from-outcome>next</from-outcome>
<to-view-id>/index.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<managed-bean>
<managed-bean-name>quiz</managed-bean-name>
<managed-bean-class>com.mx.corejsf.QuizBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
<application>
<resource-bundle>
<base-name>com.mx.corejsf.messages</base-name>
<var>msgs</var>
</resource-bundle>
</application>
</faces-config>
================================================
另外将两个属性文件由书中的messages_de.propertis和默认的英文
messages.properties换为了自己改的默认中文messages.properties和
messages_en.properties.这两个文件在书中也有,大家对应改吧。
好了,做下总结吧,程序我已经运行过了暂时没有任何问题。感觉技术更新真快啊。
。。无论从JSF版本和Tomcat,而且JRE也最好换成jre1.6.0_01(具体用控制面版中的
Java自动更新吧),一下子全都要换成新的了。。。不过看《Core JavaServer Faces
2nd Edition》中也说了SUN已经将JSF1.2作为了服务器端J2EE5的规范,是未来的标准
。相信JSF1.2会很有前途的,而且加入许多新东西例如Ajax4jsf等等。。。很值得期
待。
我也是刚接触JSF,很值得推荐看《Core JavaServer Faces 2nd Edition》,里面讲
的是最新的JSF1.2,以前的关于JSF的书籍大多都是老版本的(至少我看的是吧)。希望
该文对大家在学习JSF1.2的过程中有帮助。说得不对的地方也希望大家包含,欢迎写
信给我大家一起交流,共同进步。我的邮箱mx1029@yahoo.com.cn