本文主要阐述Freemarker与Struts2的配置方法。如果您还不熟悉具体的Struts2及标签应用请参考其他文献资料。
本文所述开发环境为: Eclipse 3.3.2+ MyEclipse 6.0 +JDK 1.5 +Tomcat 6.0。
一、安装开发Freemarker模板文件插件
Freemarker自身提供了一个编辑模板文件的Eclipse插件FreeMarkerIDE-1.0.0.GA.zip,该插件具有错误提示,与高亮显示等功能,您可以到 freemarker.sourceforge.net下载,也可通过Eclipse IDE   自带的功能完成相关插件的安装,插件更新地址为: www.freemarker.org/eclipse/update. ,插件具体安装配置过程请参考其他文献资料。
我看到很多网友对改插件的评价是褒贬不一样,本人认为还可以,所以介绍给大家。
你也可以使用其它插件,只要能帮助你开发Freemarker模板文件即可。
二、配置工程开发环境
1. 新建Web工程freemarkerWeb
2. 到http://struts.apache.org, 下载struts-2.0.11.2-all.zip解压缩并导入开发所需相关jar包到lib目录下。Jar包:struts2-core-2.0.11.2.jar,xwork-2.0.5.jar,ognl-2.6.11.jar,freemarker-2.3.8.jar,commons-logging-1.0.4.jar
3. 解压缩struts2-core-2.0.11.2.jar复制META-INF/struts-tags.tld复制到工程WEB-INF目录下
4. 配置web.xml文件
<filter>
    <filter-name>struts2</filter-name>
    <filter-class>
org.apacher.sturts2.dispatcher.FilterDispatcher
</filter-class>
</filter>  
<filter-mapping>
    <filter-name>struts2</filter-name>
    <url-parttern>
 public String userLogin() throws Exception{
     log.info("执行了登录方法userLogin()");
     return SUCCESS;
 }
   省略相应(getter,setter方法)
     …
创建登录页面index.jsp
    <s:form action="userLogin">
        登录名:<s:textfield name="username"/><br>
       密码:<s:textfield name="password"/>
        <s:submit value="登录" />
 </s:form>
创建结果页面:user.ftl
<#--
<#assign s=JspTaglibs["/WEB-INF/struts-tags.tld "]>
 -->
<html>
    <body>
    欢迎<@s.property value="username"/>登录!
    </body>
</html>
注意:
A.以上注释中的内容可以去掉,因为Struts2默认引入该标签库
B. Struts2标签在JSP 页面中的写法与在Freemarker模板文件中的写法不同。Freemarker模板文件是以<@s.tag>开始,以</@s.tag>结束
JSP文件中是以<s:tag>开始以</s:tag>结束。应用时<tag>替换为Struts2的标签名称。
 
好了,我们现在将freemarkerWeb工程部署到Tomcat6.0服务器上,访问http://loacalhost:8080/freemarkerWeb/index.jsp后输入用户名,密码,登录即可看到欢迎XX登录!
OK,大功告成!Freemarker与Struts2的配置开发工程就这样完成了。
 
最后,需要大家需要注意的是,Freemarker模板文件的处理,通过Web容器是无法直接处理的,因此不要让用户直接访问模板文件。在开发过程中,我们可以将Freemarker文件直接放到Web工程的 WEB-INF目录或其子目录下,并在相应的struts-*.xml文件中配置type="freemarker"来输出模板。
通过上面的讲解,希望能大家能对Freemarker与Struts2的配置方法有所了解及应用,不足之处请大家批评指正。
 
 
posted on 2009-08-12 16:40  LanrenXuan  阅读(4359)  评论(0编辑  收藏  举报