jsf发展有不少时间了,利用其构建的成功应用也有不少。因为其出身名门,而且设计思想吸收了之前其他框架的特点,所以近来比较热门。关于jsf的技术这里不再详细,具体可以浏览sun网站。下面主要介绍如何实际进行应用开发。
首先,简单介绍一下facelets。了解或者做过jsf开发的都知道,由于jsf的特殊性,其采用jsp作为视图技术,所以避免不了jsp带来的弊端,而且一般的网页制作工具都不支持它的可视化设计。eclipse下有相关插件如ExadelStudio,虽然可以支持,但是太过庞大,而且费用不菲。而因为jsf的设计是可以允许选择其他的view技术来实现的,所以目前有另外一种jsf的视图技术facelets,相当不错,其思想类似于tapestry。可以选择xhtml格式而不是jsp格式来设计页面。一般的网页制作工具都是支持xhtml文件格式的。而且可以使用如:<input jsfc="h:inputText" name=....>的形式来使用jsf组件。所以很方便的就实现了可视化设计。而且页面代码也明了清晰的多,不象jsp,一大堆的自定义taglib,看的你头晕。在dreamwear中可以搭配jsftoolbox来进行开发。下面详细说明如何准备开发环境。
一、下载开发工具:
1.eclipse
eclipse:http://www.eclipse.org
下载tomcat的eclipse插件,http://www.sysdeo.com/eclipse/tomcatPlugin.html
2.下载 jsf包。可以选择sun的官方实现,或者是myfaces实现。
sun: http://www.sun.com
myfaces: http://myfaces.apache.org/
3下载facelets
网址: .http://facelets.dev.java.net
4.下载jsftoolbox。
jsftoolbox是一家国外公司开发的一款在dreamweaver下开发jsf的插件,支持可视化设计、预览。并且支持facelets。分为free和商业版。网站地址:http://www.jsftoolbox.com/index.jsf。选择下载jsftoolbox for dreamweaver 免费i版本,不过需要注册后才能下载。下载完成后就可以在dreamweaver中通过插件安装的方式安装上去。
5.下载tomcat
二、配置
在eclipse中新建一个工程,其目录结构如下
需要将jsf、j2ee、facelets所需的一些jar复制到 lib目录下:
+- /jsf-facelets.jar
+- /el-api.jar
+- /el-ri.jar
+- /jsf-api.jar
+- /jsf-impl.jar
+- /commons-digester.jar
+- /commons-logging.jar
+- /commons-collections.jar
+- /commons-beanutils.jar
+- /j2ee.jar
web.xml文件的内容需要特殊配置,加上如下内容:
<!-- Use Documents Saved as *.xhtml -->
<context-param>
<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
<param-value>.xhtml</param-value>
</context-param>
<!-- Special Debug Output for Development -->
<context-param>
<param-name>facelets.DEVELOPMENT</param-name>
<param-value>true</param-value>
</context-param>
<!-- Optional JSF-RI Parameters to Help Debug -->
<context-param>
<param-name>com.sun.faces.validateXml</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>com.sun.faces.verifyObjects</param-name>
<param-value>true</param-value>
</context-param>
<!-- Faces Servlet -->
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- Faces Servlet Mapping -->
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
faces-config.xml文件需要加上:
<view-handler>
com.sun.facelets.FaceletViewHandler
</view-handler>
表示使用facelets的视图技术。
这样就可以使用dreamweaver来设计页面,使用eclipse来开发后台了。
待续...