`
xuyuanshuaaa
  • 浏览: 396253 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

freemarker插件及与struts2的整合

 
阅读更多
首先在http://sourceforge.net/project/showfiles.php?group_id=163305下载插件,解压,将 hudson.freemarker_ide_0.9.14文件夹放入eclipse下的plugins文件夹。

    发现hudson.freemarker_ide_0.9.14下的freemarker-2.3.6.jar包是比较早的版本,用新的 freemarker-2.3.15.jar替换之,把MANIFEST.MF里的Bundle-ClassPath也改为freemarker- 2.3.15.jar

    退出Eclipse再重启,在window --> Preferences 左边的树形栏里出现FreeMarker Editor一项新的内容。在General --> Editors --> File Associations下,为*.html和*.htm文件添加(add)FreeMarker Editor 作他们关联的编辑器(associated editors) , *.ftl文件的默认编辑器就是FreeMarker Editor。这样在编辑混合有HTML和FreeMarker标记的文件时,可以选择右击文件 --> Open with HTML Editor 或者 Open with FreeMarker Editor

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

freemarker和struts2整合方法
配置工程开发环境
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登录!

最后,需要大家需要注意的是,Freemarker模板文件的处理,通过Web容器是无法直接处理的,因此不要让用户直接访问模板文件。在开发过程中,我们可以将Freemarker文件直接放到Web工程的 WEB-INF目录或其子目录下,并在相应的struts-*.xml文件中配置type="freemarker" 来输出模板。
分享到:
评论

相关推荐

    struts2和freemarker整合

    **Struts2与FreeMarker的整合** Struts2框架允许开发者选择不同的视图技术,FreeMarker就是其中一种。整合过程包括以下几个步骤: 1. **添加依赖**:在项目中添加FreeMarker和Struts2 FreeMarker插件的依赖。 2. **...

    spring与struts2整合

    同时,为了集成 Spring,需要配置 Struts2-Spring 插件,这样 Struts2 就能利用 Spring 管理的 Bean。 4. **Action 类**:Action 类通常作为 Struts2 处理请求的入口,它可以从 Spring 容器中注入所需的依赖。通过...

    Struts2 与Freemarker 的配置方法

    总结来说,Struts2与Freemarker的配置主要是围绕工程的环境搭建、Struts2的web.xml配置、struts.xml配置以及Freemarker模板的编写展开的。通过这种集成,开发者可以利用Struts2的强大控制逻辑和Freemarker的模板能力...

    jquery与struts2整合

    【jQuery与Struts2整合详解】 在Web开发中,jQuery是一个强大的JavaScript库,它简化了JavaScript的DOM操作、事件处理和Ajax交互。Struts2是一个流行的Java Web框架,用于构建MVC(Model-View-Controller)架构的...

    struts2.0整合freemarker

    将Struts2.0与Freemarker整合,可以创建动态Web应用,提供灵活的视图呈现。 **一、Struts2.0框架概述** Struts2.0是Struts1.x的升级版,基于拦截器模型,提供了更强大的控制层。它包含了Action、Interceptor、...

    mybatis+struts2整合demo

    将MyBatis与Struts2整合,可以实现灵活的数据访问和业务逻辑处理。这个"mybatis+struts2整合demo"是为了帮助初次接触MyBatis的开发人员更好地理解和应用这两款框架。 1. MyBatis整合:MyBatis的核心是SQL映射文件和...

    Struts2与Freemarker的配置方法

    通过以上步骤,可以成功地将Struts2与Freemarker整合到一起,构建出高效的Java Web应用。在实际开发中,还需要关注安全性、异常处理、国际化等方面,确保应用的稳定性和用户体验。同时,不断学习和理解这两个框架的...

    struts2整合fileupload

    在本项目中,我们看到Struts2还整合了Freemarker作为视图模板引擎,使得前后端数据交互更加方便。 首先,让我们深入了解一下Struts2的FileUpload整合。Struts2提供了`struts2-upload-plugin`插件来支持文件上传。要...

    struts2 freemarker

    **Struts2与Freemarker的整合:** 1. **视图层**:在Struts2中,Freemarker作为默认的视图技术,Action的结果可以直接映射到Freemarker模板文件。 2. **模板配置**:在struts.xml配置文件中,可以指定Action的结果...

    Hibernate与struts2结合使用的demo

    在struts.xml中,我们需要配置Struts2-Hibernate插件,以便Struts2能够识别Hibernate的相关操作: ```xml &lt;constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory"/...

    struts2与Freemarker的配置文件

    通过上述步骤,Struts2与Freemarker的整合就可以顺利进行。开发人员可以利用Struts2的标签在Freemarker模板中灵活地开发出表现层的内容。这种方式使得前后端开发的分离更加清晰,提高了项目的可维护性和可扩展性。

    struts2+spring+hibernate整合步骤

    struts2-spring-plugin-2.1.8.jar是Struts2与Spring的整合插件,允许Struts2的Action类直接利用Spring的IoC容器,实现Action的管理和服务注入。 Hibernate是流行的ORM框架,它简化了Java应用与数据库之间的交互。...

    struts2和spring整合包

    整合后的应用能够充分利用Spring的DI和AOP能力,同时保持Struts2的MVC结构和插件生态。这种整合方式提高了代码的可测试性,降低了组件之间的耦合,使得开发者可以更加专注于业务逻辑的实现。 在提供的压缩包中,...

    struts2+freemarker学习案例

    **Struts2与FreeMarker的整合:** 1. **Action与模板**:在Struts2中,Action执行完成后,通常会返回一个模板(通常是FTL文件),FreeMarker会解析这个模板并结合数据模型生成HTML响应。 2. **结果类型配置**:在...

    struts2 freemarker hibernate spring 整合框架

    Struts2、Freemarker、Hibernate和Spring是Java开发中常用的四大开源框架,它们的整合应用可以构建出高效、灵活的企业级Web应用。这个压缩包文件的标题表明它包含了一个整合了这四个框架的示例项目,主要是实现登录...

    Struts2整合SiteMesh技巧

    3. **Struts2 SiteMesh插件**:作为桥梁连接Struts2与SiteMesh。 #### 过滤器配置 在项目的`web.xml`文件中,需要添加三个过滤器来支持Struts2与SiteMesh的整合: 1. **struts-cleanup**过滤器:该过滤器的作用是...

    freemarker+struts2+ibatis入门学习摘要

    【FreeMarker】 FreeMarker 是一个模板引擎,用于动态生成 ...这些步骤都是 FreeMarker+Struts2+iBatis 整合应用的基础,它们帮助开发者高效地构建动态网站,将视图、控制和数据访问分离,提高代码的可读性和可维护性。

    Struts1+Spring2+Hibernate2整合详细例子

    5. **集成Struts1和Spring2**:使用Spring的Struts插件,将Spring管理的Bean注入到Struts的Action中,实现依赖注入。 6. **集成Spring2和Hibernate2**:在Spring的配置文件中,配置Hibernate的SessionFactory,并...

    Struts2.x整合工具开发包,需要的朋友下载过来学习

    插件架构使得Struts2.x能够轻松地扩展功能,如与Spring、Hibernate等其他框架的集成。 整合Struts2.x通常涉及以下几个步骤: 1. 添加依赖:在项目构建工具(如Maven或Gradle)的配置文件中添加Struts2.x的依赖库,...

Global site tag (gtag.js) - Google Analytics