`
liuguofeng
  • 浏览: 436625 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Struts2与Freemarker的配置方法

阅读更多

Freemarker是模板引擎,也可以说是一种表现层的框架,它有自己的模板指令,开发者如果不熟悉这些语法,很难进行表现层的开发。Struts2框架技术对Freemarker 做了很好的支持,开发人员只要熟悉Struts2的标签即可进行开发Freemarker模板文件,如果您还不熟悉具体的Struts2及标签应用请参考其他文献资料,本文主要阐述Struts2与Freemarker的配置 方法。

本文所述开发环境为: 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>/*</url-parttern>
</filter-mapping>
      <servlet>
        <servlet-name>JspSupportServlet</servlet-name>
        <servlet-class>
            org.apache.struts2.views.JspSupportServlet
        </servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    注意:要想在Freemarker中使用Struts2标签必须配置以上加粗部分代码到web.xml文件中。
5. 创建struts.xml文件
<struts>
 <package name="struts" extends="struts-default">
<action name="userLogin" class="com.test.action.LoginAction" method="userLogin">
                <result name="success" type="freemarker">
                    /WEB-INF/templates/user.ftl
                </result>
            </action>
    </package>
</struts>
注意:
A:斜体字部分的代码是根据不同的应用而配置的,斜体部分的代码为freemarkerWeb应用的代码。
B:<reslutl>元素的type 属性必须设置为freemarker,这是因为Freemarker模板文件必须由Freemarker模板引擎来解析,而Struts2内部实现了Freemarker模板引擎,但我们必须声明返回结果类型为freemarker才可以
至此Struts2 Freemarker 的配置 已经完成,可以进行开发了.
三、    完成Struts2与Freemarker的配置 开发工程
创建LoginAction.java
  ……
private Log log=LogFactory.getLog(LoginAction.class);
 private String username;
 private String password;
 /**
   * 登录处理
   * @return
   * @throws Exception
   */
 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,大功告成!Struts2与Freemarker的配置 开发工程就这样完成了。
 
最后,需要大家需要注意的是,Freemarker模板文件的处理,通过Web容器是无法直接处理的,因此不要让用户直接访问模板文件。在开发过程中,我们可以将Freemarker文件直接放到Web工程的 WEB-INF目录或其子目录下,并在相应的struts-*.xml文件中配置type="freemarker" 来输出模板。
分享到:
评论

相关推荐

    Struts2 与Freemarker 的配置方法

    Freemarker是模板引擎,也可以说是一种...开发人员只要熟悉Struts2的标签即可进行开发Freemarker模板文件,如果您还不熟悉具体的Struts2及标签应用请参考其他文献资料,本文主要阐述Struts2与Freemarker的配置方法。。

    struts2与Freemarker的配置文件

    详尽的描述了项目开发过程中,项目配置文件和struts2配置文件中关于Freemarker的配置和解决!

    freemarker与struts2详细配置

    freemarker与struts2详细配置.

    在struts2的freemarker模板中扩展struts标签

    众所周知,struts2宣称freemarker模板中不再支持自定义标签,但如果工程UI仅用freemarker模板可以通过扩展struts标签简单实现,不是采用官方不推荐的配置JspSupportServlet实现的!内付详细说明及范例,此方法仅为团队...

    Struts2零配置+FreeMarker用户管理系统(UMS)

    采用Struts2注解,视图层采用FreeMarker的一个示例项目。 欢迎下载学习。

    hibernate3+struts2+spring2+freemarker 主流技术架构 实例

    • 采用hibernate3+struts2+spring2+freemarker主流技术架构 • 懂html就能建站,提供最便利、合理的使用方式 • 强大、灵活的标签,用户自定义显示内容和显示方式 • 在设计上自身预先做了搜索引擎优化,增强对...

    spring+hibernate+struts+freemarker个人博客(含源码数据库)

    用spring+hibernate+struts+freemarker做的个人博客源码 里边包含了数据库模块,配置即可用,可分析源码做为学习

    freemarker与struts配置实例和dwr实例

    freemarker与struts搭建的完整实例,只适合刚学freemarker的入门一个示例,里面还加入网上的一个dwr配置实例,仅供参考

    Struts2 Hibernate Spring CXF JSON FreeMarker

    附件是我平时对一些技术的Demo,包含 Struts2 Hibernate Spring集成,涉及到CXF JSON FreeMarker等技术,SSH2使用的Struts2的零配置。有兴趣的可以下载研究学习。

    Struts2实战.pdf

    《Struts 2实战》结合实例介绍了Struts 2框架,主要内容包括Action、Result、Interceptor等框架组件,基于注解的配置选项等新特征,Struts 2插件 FreeMarker,如何从Struts 1和WebWork 2迁移到Struts 2,Ajax标签、...

    struts2整合spring2的配置

    1. 导入的包 &lt;br&gt;l struts2的五个基础包:commons-logging-1.1.jar; &lt;br&gt;freemarker-2.3.8.jar; &lt;br&gt;ognl-2.6.9.jar; &lt;br&gt;struts-core-2.0.6.jar; &lt;br&gt;xwork-2.0.0.jar. &lt;br&gt;l spring的核心包:...

    BBS.rar_BBS java_BBS论坛_freemarker java_struts2 bbs_论坛

    虚拟社区项目(BBS论坛)东软neo框架,就是spring2.5 + struts2 + freemarker. 用myeclipse导入配置到tomcat6.0即可

    Struts2入门教程(全新完整版)

    3.初识struts2配置文件 4 (1).web.xml文件 4 (2).struts.xml文件 4 (3).struts.properties(参default.properties) 4 (4)struts-default.xml 4 (5)其它配置文件 4 4.让MyEclipse提示xml信息 4 5.如何...

    struts2+spring2+hibernate3+tiles+freemarker+ibatis 实现

    资源 struts2+spring2+hibernate3+tiles+freemarker+ibatis 架构图 的具体实现,注意没有java源文件,大家可以看一下配置,具体实现大家不防试一把 &lt;br&gt;下载架构图一目了然哦:...

    Struts课堂笔记.rar--struts2的struts.properties配置文件详解

    The org.apache.struts2.views.freemarker.FreemarkerManager implementation class org.apache.struts2.views.freemarker.FreemarkerManager接口名 struts.i18n.encoding The encoding to use for ...

    Struts2属性文件详解

    该属性指定加载Struts 2配置文件的配置文件管理器.该属性的默认值是org.apache.Struts2.config.DefaultConfiguration, 这是Struts 2默认的配置文件管理器.如果需要实现自己的配置管理器,开发者则可以实现一个实现...

Global site tag (gtag.js) - Google Analytics