struts2与FreeMarker 简单配置实现
asm-3.1.jar
asm-commons-3.1.jar
commons-fileupload-1.2.2.jar
commons-io-2.0.1.jar
commons-lang-2.5.jar
commons-logging-1.1.1.jar
freemarker-2.3.16.jar
javassist-3.11.0.GA.jar
log4j-1.2.15.jar //日志
ognl-3.0.1.jar
struts2-convention-plugin-2.2.3.1.jar //注解
struts2-core-2.2.3.1.jar
xwork-core-2.2.3.1.jar
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
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-app_2_5.xsd">
<!-- Struts2 filter -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.htm</url-pattern>
</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>
<servlet-mapping>
<servlet-name>JspSupportservlet</servlet-name>
<url-pattern>*.ftl</url-pattern>
</servlet-mapping>
<!-- 定义错误页面 -->
<error-page>
<error-code>403</error-code>
<location>/error/error1.htm</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/error/error1.htm</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/error/error1.htm</location>
</error-page>
<welcome-file-list>
<welcome-file>index.htm</welcome-file>
</welcome-file-list>
</web-app>
struts.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd" >
<struts>
<constant name="struts.devMode" value="true"/>
<constant name="struts.locale" value="zh_CN"/>
<constant name="struts.i18n.encoding" value="utf-8"/>
<constant name="struts.action.extension" value="htm"/>
<constant name="struts.convention.result.path" value="/WEB-INF/content/"></constant>
<constant name="struts.multipart.saveDir" value="temp"></constant>
<constant name="struts.ui.theme" value="simple"/>
<constant name="struts.multipart.maxSize" value="1000000000"/>
<constant name="struts.custom.i18n.resources" value="messages"/>
<constant name="struts.ognl.allowStaticMethodAccess" value="true"/>
<!-- 没找到页面 -->
<package name="default" extends="struts-default">
<default-action-ref name="notFound"/>
<action name="notFound">
<result type="redirect">/error/error1.htm</result>
</action>
</package>
</struts>
freemarker.properties
locale=zh_CN
default_encoding=UTF-8
number_format=#
date_format=yyyy-MM-dd
time_format=HH:mm:ss
datetime_format=yyyy-MM-dd HH:mm:ss
template_update_delay=0
classic_compatible=true
分享到:
相关推荐
通过以上步骤,可以成功地将Struts2与Freemarker整合到一起,构建出高效的Java Web应用。在实际开发中,还需要关注安全性、异常处理、国际化等方面,确保应用的稳定性和用户体验。同时,不断学习和理解这两个框架的...
10. **Struts2与FreeMarker的集成**:如何在Action中设置模型数据,然后在FreeMarker模板中获取并显示这些数据。 11. **测试Struts2应用**:了解如何使用JUnit进行单元测试,以及Struts2提供的Mock对象进行集成测试...
**Struts2与Freemarker的整合:** 1. **视图层**:在Struts2中,Freemarker作为默认的视图技术,Action的结果可以直接映射到Freemarker模板文件。 2. **模板配置**:在struts.xml配置文件中,可以指定Action的结果...
其优点在于强大的拦截器机制,可实现如权限验证、日志记录等功能,同时提供了丰富的插件支持,如Struts2_Freemarker Plugin,使得Freemarker模板可以直接与Struts2框架无缝集成。 Freemarker模板语言是基于文本的,...
众所周知,struts2宣称freemarker模板中不再支持自定义标签,但如果工程UI仅用freemarker模板可以通过扩展struts标签简单实现,不是采用官方不推荐的配置JspSupportServlet实现的!内付详细说明及范例,此方法仅为团队...
在"Struts2整合FreeMarker开发HelloWorld"的项目中,我们将学习如何在Struts2框架下使用FreeMarker模板技术来创建一个简单的 HelloWorld 示例。首先,我们需要确保我们的开发环境中已经安装了Apache Struts2和...
本篇文章将深入探讨如何在Struts2框架下结合FreeMarker实现分页功能,帮助开发者更高效地处理大数据量的展示问题。 首先,了解分页的基本原理。分页是用来解决一次性加载大量数据导致页面加载过慢或内存压力过大的...
2. **配置Struts2**:在struts.xml文件中配置Struts2的核心过滤器,并设置Freemarker为默认的视图解析器。例如: ```xml <filter-name>struts2 <filter-class>org.apache.struts2.dispatcher.ng.filter....
它在Java环境中广泛使用,尤其与Web框架如Struts2相结合时,能够实现MVC设计模式中的视图部分。** **入门FreeMarker:** 1. **安装与配置**:FreeMarker是一个轻量级库,可以通过Maven或Gradle等构建工具引入到Java...
例如,`struts2&&freemarker例子.txt`可能包含了一个简单的Freemarker模板示例,展示了如何从Struts2的Action获取数据并展示。而未列出的另一个文件可能是实际的Freemarker模板文件,或者是关于Struts2和Freemarker...
通过解压并运行这个实例,你可以了解到如何将Struts2的Action与FreeMarker模板结合起来,实现动态网页的生成。 总结起来,Struts2.0和FreeMarker的结合使用,能帮助开发者构建清晰的MVC架构,提高代码的可读性和可...
Freemarker作为模板引擎,与Struts2和Spring很好地协同工作。它使用简单的语法来表示逻辑,分离了视图层与控制器层。开发者可以在Freemarker模板中引用模型数据,生成动态内容。Freemarker支持条件判断、循环结构、...
此外,Struts2与多种视图技术兼容,包括JSP、FreeMarker等。 **Freemarker** 是一种模板引擎,主要用来生成HTML或其他文本格式的输出。在Struts2中,Freemarker被用作视图层的模板语言,允许开发者将静态HTML与动态...
2. **配置Struts2**:在`struts.xml`配置文件中,定义Action类和对应的Result,指定使用FreeMarker模板进行渲染。例如: ```xml <result type="freemarker">/path/to/your/template.ftl ``` 3. **配置...
总之,《Struts2技术内幕——深入解析Struts2架构设计与实现原理》配合《struts2基础.chm》,将帮助读者全面掌握Struts2的架构设计、核心组件、配置方式、插件使用以及源码解读,对于想要在Java Web领域深入发展的...
### Struts2基本运行环境配置方法 ...通过本文的介绍,读者应能熟练掌握Struts2环境的配置方法,并能够独立完成简单的登录功能开发。在未来的学习和实践中,这些基础知识将为更高级的功能开发打下坚实的基础。
在这个“Struts2实现文件下载功能”的示例中,我们将深入探讨如何利用Struts2框架来实现在web应用中让用户下载文件的功能。 首先,我们需要理解文件下载的基本原理。在Web应用中,当用户点击一个链接或提交一个表单...
在源码中,可以看到Sitemesh配置和过滤器的实现,以及如何与Struts2整合,确保每个Action的结果都能被正确装饰。 3. **FreeMarker模板引擎**:FreeMarker是一个基于模板的语言,它与Java代码分离,使得视图层更加...
8. **OGNL(Object-Graph Navigation Language)**:Struts2使用OGNL作为表达式语言,用于在Action与JSP之间传递数据。 在压缩包中,你可能会看到以下文件和目录: - `struts2-core.jar`:Struts2的核心库,包含了...
3. **配置 Struts**:在 `web.xml` 文件中配置 Struts2 过滤器,指定 FilterDispatcher 类,然后映射所有的 URL 请求到 Struts2 处理。 4. **创建配置文件**:在 `src` 目录下创建 `struts.xml` 配置文件,定义 ...