- 浏览: 152221 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
xjk112:
2015-05-08 13:21
我奋斗了18年才和你坐在一起喝咖啡[转] -
sandy_vv:
给达内广告,收费 ?
Java 利用url下载MP3保存到本地 -
78945612:
哥们
这个对于初学者怎么整呢?
android 定时关机 -
cn23snyga:
请教贵博,用ACE 绘制出的图表,可以捕捉到点击事件的坐标值 ...
使用achartengine开发曲线图相关的Android应用程序(zhuan) -
qi19901212:
楼主你好,我开发的achartengine放在 scrollv ...
Android开发工具之AChartEngine
result配置类似于struts1中的forward,但struts2中提供了多种结果类型,如: dispatcher(默认值)、redirect?、 redirectAction?、plainText。
下面是redirectAction?结果类型的例子,如果重定向的action中同一个包下:
<resulttype="redirectAction">helloworld</result>
如果重定向的action在别的命名空间下:
<result type="redirectAction">
<paramname="actionName">helloworld</param>
<paramname="namespace">/test</param>
</result>
如果没有指定result的name属性,默认值为success。
在result中还可以使用${属性名}表达式,表达式里的属性名对应action中的属性。如下:
<resulttype="redirect">view.jsp?id=${id}</result>
<package name="user"namespace="/users/userinfo" extends="struts-default">
?? <action name="helloworld" method="execute"class="com.sxt.HelloWorldAction">
??? <resultname="show">/showMessage.jsp</result>
?? </action>
?? <!--?重定向 -->
?? <action name="redirect">
??? <resulttype="redirect">/showMessage.jsp</result>
?? </action>
?? <!--?重定向到Action -->
?? <action name="redirectAction">
??? <resulttype="redirectAction">helloworld</result>
?? </action>
?? <!--?重定向到不同包的Action -->
?? <action name="redirectPackageAction">
??? <result type="redirectAction">
???? <paramname="namespace">/users/dept</param>
???? <param name="actionName">userDept</param>
??? </result>
?? </action>
?? <!--?参数传值 -->
?? <action name="paramvalue" method="userEdit"class="com.sxt.HelloWorldAction">
??? <result name="userEdit"type="redirect">/userEdit.jsp?userId=${userid}</result>
?? </action>
</package>
<package name="other" namespace="/users/dept"extends="struts-default">
?? <action name="userDept">
??? <result>/userDept.jsp</result>
?? </action>
</package>
链接类型??result:chain
总结:通常从一个action链接到另外一个action
<package name="public"extends="struts-default">???
????<!-- ChaincreatAccount to login, using the default parameter -->??
????<actionname="createAccount" class="...">???
????????<resulttype="chain">login</result>?
???</action>??
????<actionname="login" class="...">???
????????<!--Chain to another namespace -->??
????????<resulttype="chain">???
???????????<param name="actionName">dashboard</param>??
???????????<param name="namespace">/secure</param>??
???????</result>??
???</action>??
</package>??
<package name="secure" extends="struts-default"namespace="/secure">???
????<actionname="dashboard" class="...">???
???????<result>dashboard.jsp</result>??
???</action>??
</package>?
Dispatcher Result???????用来转向页面,通常处理JSP?????
<result name="success"type="dispatcher">???
??<param name="location">foo.jsp</param>??
</result>?
??FreeMarkerResult??处理FreeMarker模板
<result name="success"type="freemarker">foo.ftl</result>??
HttpHeader Result
用来控制特殊的Http行为
<result name="success"type="httpheader">???
??<paramname="status">204</param>?
??<paramname="headers.a">a custom header value</param>??
??<paramname="headers.b">another custom header value</param>??
</result>??
<result name="proxyRequired"type="httpheader">???
??<paramname="error">305</param>?
??<paramname="errorMessage">this action must be accessed through aprozy</param>??
</result>??
Redirect Result
重定向到一个URL
<result name="success"type="redirect">? ?
?? ?<param name="location">foo.jsp</param>
?? ?<param name="parse">false</param>
</result>
< class="javascript">
< class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shCore.js">
< class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushCSharp.js">
< class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushPhp.js">
< class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushJScript.js">
< class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushVb.js">
< class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushSql.js">
< class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushXml.js">
< class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushShell.js">
< class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushDelphi.js">
< class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushPython.js">
< class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushJava.js">
<package name="passingRequestParameters"extends="struts-default"namespace="/passingRequestParameters">???
???<-- Passparameters (reportType, width and height) -->???
???<!--???
???Theredirect-action url generated will be?
??/genReport/generateReport.jsp?reportType=pie&width=100&height=100???
???-->???
???<actionname="gatherReportInfo" class="...">???
??????<resultname="showReportResult" type="redirect">???
?????????<paramname="location">generateReport.jsp</param>???
?????????<paramname="namespace">/genReport</param>???
?????????<paramname="reportType">pie</param>???
?????????<paramname="width">100</param>??
?????????<paramname="height">100</param>??
?????</result>???
??</action>???
</package>??
Redirect Action Result
重定向到一个Action
<package name="public"extends="struts-default">???
????<action name="login"class="...">???
????????<!--Redirect to another namespace -->??
????????<resulttype="redirectAction">???
???????????<param name="actionName">dashboard</param>??
???????????<param name="namespace">/secure</param>??
????????</result>??
???</action>??
</package>??
<package name="secure"extends="struts-default" namespace="/secure">???
????<-- Redirectto an action in the same namespace -->?
????<actionname="dashboard" class="...">???
???????<result>dashboard.jsp</result>??
????????<result name="error"type="redirectAction">error</result>??
???</action>??
????<actionname="error" class="...">???
???????<result>error.jsp</result>?
???</action>??
</package>??
<package name="passingRequestParameters"extends="struts-default"namespace="/passingRequestParameters">???
???<-- Passparameters (reportType, width and height) -->??
???<!--???
???TheredirectAction url generated will be??
??/genReport/generateReport.action?reportType=pie&width=100&height=100??
???-->??
???<actionname="gatherReportInfo" class="...">???
??????<resultname="showReportResult" type="redirectAction">???
?????????<paramname="actionName">generateReport</param>??
?????????<paramname="namespace">/genReport</param>??
?????????<paramname="reportType">pie</param>??
?????????<paramname="width">100</param>?
?????????<paramname="height">100</param>?
?????????<paramname="empty"></param>?
?????????<paramname="supressEmptyParameters">true</param>??
?????</result>??
??</action>??
</package>?
Stream Result
向浏览器发送InputSream对象,通常用来处理文件下载
<result name="success"type="stream">???
??<paramname="contentType">image/jpeg</param>??
??<paramname="inputName">imageStream</param>??
??<paramname="contentDisposition">attachment;filename="document.pdf"</param>???
??<paramname="bufferSize">1024</param>??
</result>??
Velocity Result
处理Velocity模板
<result name="success"type="velocity">???
??<paramname="location">foo.vm</param>??
</result>??
?
XLS Result
处理XML/XLST模板
<result name="success" type="xslt">???
??<paramname="location">foo.xslt</param>??
??<paramname="matchingPattern">^/result/[^/*]$</param>??
??<paramname="excludingPattern">.*(hugeCollection).*</param>??
</result>??
PlainText Result
显示原始文件内容,例如文件源代码
<action name="displayJspRawContent">??
??<resulttype="plaintext">/myJspFile.jsp</result>??
</action>? ?
<action name="displayJspRawContent">??
??<resulttype="plaintext">???
?????<paramname="location">/myJspFile.jsp</param>??
?????<paramname="charSet">UTF-8</param>?
??</result>??
</action>?
S2PLUGINS:Tiles Result
结合Tile使用
另外第三方的Result类型还包括JasperReportsPlugin,专门用来处理JasperReport类型的报表输出。
<%@ tagliburi="http://tiles.apache.org/tags-tiles" prefix="tiles"%>??
<%@ taglib prefix="s"uri="/struts-tags" %>??
<%-- Show usage; Used in Header --%>??
<tiles:importAttribute name="title"scope="request"/>???
<html>??
???<head><title><tiles:getAsStringname="title"/></title></head>???
<body>??
???<tiles:insertAttribute name="header"/>???
????? <pid="body">???
????????<tiles:insertAttributename="body"/>???
????</p>??
? ? <p>Noticethat this is a layout made in JSP</p>?
</body>??
</html>?
来自:http://www.24xuexi.com/w/2011-06-29/93842.html
下面是redirectAction?结果类型的例子,如果重定向的action中同一个包下:
<resulttype="redirectAction">helloworld</result>
如果重定向的action在别的命名空间下:
<result type="redirectAction">
<paramname="actionName">helloworld</param>
<paramname="namespace">/test</param>
</result>
如果没有指定result的name属性,默认值为success。
在result中还可以使用${属性名}表达式,表达式里的属性名对应action中的属性。如下:
<resulttype="redirect">view.jsp?id=${id}</result>
<package name="user"namespace="/users/userinfo" extends="struts-default">
?? <action name="helloworld" method="execute"class="com.sxt.HelloWorldAction">
??? <resultname="show">/showMessage.jsp</result>
?? </action>
?? <!--?重定向 -->
?? <action name="redirect">
??? <resulttype="redirect">/showMessage.jsp</result>
?? </action>
?? <!--?重定向到Action -->
?? <action name="redirectAction">
??? <resulttype="redirectAction">helloworld</result>
?? </action>
?? <!--?重定向到不同包的Action -->
?? <action name="redirectPackageAction">
??? <result type="redirectAction">
???? <paramname="namespace">/users/dept</param>
???? <param name="actionName">userDept</param>
??? </result>
?? </action>
?? <!--?参数传值 -->
?? <action name="paramvalue" method="userEdit"class="com.sxt.HelloWorldAction">
??? <result name="userEdit"type="redirect">/userEdit.jsp?userId=${userid}</result>
?? </action>
</package>
<package name="other" namespace="/users/dept"extends="struts-default">
?? <action name="userDept">
??? <result>/userDept.jsp</result>
?? </action>
</package>
链接类型??result:chain
总结:通常从一个action链接到另外一个action
<package name="public"extends="struts-default">???
????<!-- ChaincreatAccount to login, using the default parameter -->??
????<actionname="createAccount" class="...">???
????????<resulttype="chain">login</result>?
???</action>??
????<actionname="login" class="...">???
????????<!--Chain to another namespace -->??
????????<resulttype="chain">???
???????????<param name="actionName">dashboard</param>??
???????????<param name="namespace">/secure</param>??
???????</result>??
???</action>??
</package>??
<package name="secure" extends="struts-default"namespace="/secure">???
????<actionname="dashboard" class="...">???
???????<result>dashboard.jsp</result>??
???</action>??
</package>?
Dispatcher Result???????用来转向页面,通常处理JSP?????
<result name="success"type="dispatcher">???
??<param name="location">foo.jsp</param>??
</result>?
??FreeMarkerResult??处理FreeMarker模板
<result name="success"type="freemarker">foo.ftl</result>??
HttpHeader Result
用来控制特殊的Http行为
<result name="success"type="httpheader">???
??<paramname="status">204</param>?
??<paramname="headers.a">a custom header value</param>??
??<paramname="headers.b">another custom header value</param>??
</result>??
<result name="proxyRequired"type="httpheader">???
??<paramname="error">305</param>?
??<paramname="errorMessage">this action must be accessed through aprozy</param>??
</result>??
Redirect Result
重定向到一个URL
<result name="success"type="redirect">? ?
?? ?<param name="location">foo.jsp</param>
?? ?<param name="parse">false</param>
</result>
< class="javascript">
< class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shCore.js">
< class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushCSharp.js">
< class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushPhp.js">
< class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushJScript.js">
< class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushVb.js">
< class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushSql.js">
< class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushXml.js">
< class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushShell.js">
< class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushDelphi.js">
< class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushPython.js">
< class="javascript" src="http://cwiki.apache.org/confluence/download/resources/confluence.ext.code:code/shBrushJava.js">
<package name="passingRequestParameters"extends="struts-default"namespace="/passingRequestParameters">???
???<-- Passparameters (reportType, width and height) -->???
???<!--???
???Theredirect-action url generated will be?
??/genReport/generateReport.jsp?reportType=pie&width=100&height=100???
???-->???
???<actionname="gatherReportInfo" class="...">???
??????<resultname="showReportResult" type="redirect">???
?????????<paramname="location">generateReport.jsp</param>???
?????????<paramname="namespace">/genReport</param>???
?????????<paramname="reportType">pie</param>???
?????????<paramname="width">100</param>??
?????????<paramname="height">100</param>??
?????</result>???
??</action>???
</package>??
Redirect Action Result
重定向到一个Action
<package name="public"extends="struts-default">???
????<action name="login"class="...">???
????????<!--Redirect to another namespace -->??
????????<resulttype="redirectAction">???
???????????<param name="actionName">dashboard</param>??
???????????<param name="namespace">/secure</param>??
????????</result>??
???</action>??
</package>??
<package name="secure"extends="struts-default" namespace="/secure">???
????<-- Redirectto an action in the same namespace -->?
????<actionname="dashboard" class="...">???
???????<result>dashboard.jsp</result>??
????????<result name="error"type="redirectAction">error</result>??
???</action>??
????<actionname="error" class="...">???
???????<result>error.jsp</result>?
???</action>??
</package>??
<package name="passingRequestParameters"extends="struts-default"namespace="/passingRequestParameters">???
???<-- Passparameters (reportType, width and height) -->??
???<!--???
???TheredirectAction url generated will be??
??/genReport/generateReport.action?reportType=pie&width=100&height=100??
???-->??
???<actionname="gatherReportInfo" class="...">???
??????<resultname="showReportResult" type="redirectAction">???
?????????<paramname="actionName">generateReport</param>??
?????????<paramname="namespace">/genReport</param>??
?????????<paramname="reportType">pie</param>??
?????????<paramname="width">100</param>?
?????????<paramname="height">100</param>?
?????????<paramname="empty"></param>?
?????????<paramname="supressEmptyParameters">true</param>??
?????</result>??
??</action>??
</package>?
Stream Result
向浏览器发送InputSream对象,通常用来处理文件下载
<result name="success"type="stream">???
??<paramname="contentType">image/jpeg</param>??
??<paramname="inputName">imageStream</param>??
??<paramname="contentDisposition">attachment;filename="document.pdf"</param>???
??<paramname="bufferSize">1024</param>??
</result>??
Velocity Result
处理Velocity模板
<result name="success"type="velocity">???
??<paramname="location">foo.vm</param>??
</result>??
?
XLS Result
处理XML/XLST模板
<result name="success" type="xslt">???
??<paramname="location">foo.xslt</param>??
??<paramname="matchingPattern">^/result/[^/*]$</param>??
??<paramname="excludingPattern">.*(hugeCollection).*</param>??
</result>??
PlainText Result
显示原始文件内容,例如文件源代码
<action name="displayJspRawContent">??
??<resulttype="plaintext">/myJspFile.jsp</result>??
</action>? ?
<action name="displayJspRawContent">??
??<resulttype="plaintext">???
?????<paramname="location">/myJspFile.jsp</param>??
?????<paramname="charSet">UTF-8</param>?
??</result>??
</action>?
S2PLUGINS:Tiles Result
结合Tile使用
另外第三方的Result类型还包括JasperReportsPlugin,专门用来处理JasperReport类型的报表输出。
<%@ tagliburi="http://tiles.apache.org/tags-tiles" prefix="tiles"%>??
<%@ taglib prefix="s"uri="/struts-tags" %>??
<%-- Show usage; Used in Header --%>??
<tiles:importAttribute name="title"scope="request"/>???
<html>??
???<head><title><tiles:getAsStringname="title"/></title></head>???
<body>??
???<tiles:insertAttribute name="header"/>???
????? <pid="body">???
????????<tiles:insertAttributename="body"/>???
????</p>??
? ? <p>Noticethat this is a layout made in JSP</p>?
</body>??
</html>?
来自:http://www.24xuexi.com/w/2011-06-29/93842.html
发表评论
-
struts2 跳转类型 result type=chain、dispatcher、redirect(redirect-action)
2012-06-19 14:24 1076struts2 跳转类型 result type=chain、 ... -
使用Struts2 的result 传递参数
2012-04-12 23:24 10201.当使用type=“redirectAction” 或typ ... -
Struts2 Result Type
2012-04-12 23:21 818一个提交到服务器的处理通常可以分为两个阶段,第一个阶段查询服务 ... -
Struts2实现自已的拦截器
2012-06-19 14:25 869在上一篇中介绍了Struts2拦截器的原理,在这一篇中我们将学 ... -
Struts2拦截器概述
2012-06-19 14:24 785Struts2的拦截器和Servlet过滤器类似。在执行Act ... -
Struts2上传任意多个文件
2012-04-10 23:24 1059上传单个文件 上传文件是很多Web程序都具有的功能。在 ... -
在Action类中获得HttpServletResponse对象(zhuan)
2012-04-10 23:18 916在struts1.x Action类的execute方法中,有 ... -
Struts 2上传文件小谈 (转)
2012-04-10 23:19 790下面谈谈Struts 2框架的文件上传应用 (1)原理:Str ... -
struts2的action中获得request response session(zhuan)
2012-04-10 23:18 767在struts2中有两种方式可以得到这些对象 ... -
Struts2利用stream直接输出Excel(转)
2012-04-10 23:20 766用网页展示查询结果,经常会遇到要求导出成Excel的需求。采用 ... -
Struts2 ACTION中重定向
2012-06-19 14:24 1041@Override public String list() ... -
Strut2
2012-03-24 00:19 0 -
Spring AOP
2012-06-28 13:23 735具体功能如下: ◆Authentication 权限 ◆Ca ... -
Spring
2012-03-08 17:45 0Spring 配置 -
HQL Study
2012-03-19 15:55 666引用HQL和SQL不一样,HQL查询的是对象,而SQL查询的是 ... -
Hibernate 配置问题
2012-03-03 16:14 744java.lang.NoClassDefFoundError: ... -
Hibernate 性能
2012-03-03 16:13 721ORM框架需要频繁地跟数据库交互。 影响ORM性能的几个方面 ... -
Spring的applicationContext.xml文件
2011-11-29 16:59 442Spring的applicationContext.xml文件 ...
相关推荐
这篇博文将深入探讨Struts2中的result配置以及各种视图转发类型。 首先,让我们理解Result的基本概念。在Struts2的配置文件(如struts.xml)中,每个Action可以有多个结果,每个结果对应一个特定的视图。Result配置...
esult配置的各种视图转发类型esult配置的各种视图转发类型esult配置的各种视图转发类型
本教程主要围绕"传智播客_result的各种视图转发类型及全局"展开,这涉及到Struts2框架中的Action结果处理方式以及全局配置。 首先,Struts2中的Action结果类型是连接Action和视图的桥梁。当一个Action执行完毕后,...
Struts 2是Struts的下一代产品,是在 struts 和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理...
在Struts2中,业务逻辑通常封装在Action类中,Action类负责处理用户请求并返回一个结果。这个结果可以是成功的处理、错误的提示,或者是重定向到其他页面。Result类型就是用来定义这些结果的处理方式。 Struts2内置...
通过分析`redirectActionTest`文件,我们可以深入理解Struts2中`redirectAction` Result类型的实现和应用场景,包括配置、工作流程以及优缺点。实践这些知识可以帮助我们更有效地构建和维护Struts2驱动的Web应用。
在Struts2中,Result Type是控制流程的重要部分,用于定义动作执行后如何转发或重定向到特定的视图。这篇博客文章将深入探讨Struts2的Result Type,以及它在实际应用中的工作原理。 首先,我们需要了解Struts2的...
Struts2 Result类型是Struts2框架中一个关键的概念,它是控制Action执行后响应到何处的重要组件。在处理用户请求并执行相应的业务逻辑后,Action需要将结果返回给客户端,而Result类型就是用来定义这个返回过程的...
- **Interceptor**:在`package`元素内部,可以定义拦截器或引用拦截器堆栈,拦截器是Struts2中非常重要的组件,用于在Action执行前后进行一系列的前置和后置处理操作,比如登录验证、数据校验等。 - **Result ...
在Struts2中,`Result`标签是核心组件之一,用于定义动作执行后如何跳转到相应的视图。让我们深入探讨一下`Result`标签的使用以及在Struts2框架中的作用。 ### 1. Struts2框架概述 Struts2框架基于MVC设计模式,...
在Struts2中,配置Freemarker视图涉及到在`struts.xml`配置文件中设置`result`类型为`freemarker`,并指定对应的模板文件路径。在模板文件中,使用Freemarker语法(如`${}`)来引用Action的属性。案例中的Freemarker...
同时,`struts.xml`文件中的配置会指导Struts2如何处理请求和响应,你需要在这里定义Action、结果类型、拦截器栈等。 总之,Struts2包和配置文件为你提供了构建高效、结构化的Web应用的工具和蓝图。通过合理的配置...
比如,在Action类上使用`@Action`注解,或者在方法上使用`@Result`注解,可以避免在`struts.xml`中手动配置。这样可以提高代码的可读性和可维护性。 对于国际化支持,Struts2提供了一种机制来处理不同语言环境下的...
在Eclipse这个流行的Java集成开发环境中配置Struts2,可以帮助开发者更高效地构建动态Web项目。以下将详细介绍如何在Eclipse中成功配置Struts2。 1. **环境准备**: - 首先确保你的系统上已经安装了Java JDK和...
3. `ognl.jar`:Object-Graph Navigation Language (OGNL) 是Struts2中的表达式语言,用于在视图和模型之间传递数据。 4. `freemarker.jar`:FreeMarker是Struts2默认使用的模板引擎,用于生成动态HTML或其他格式的...
在传统的Struts2应用中,开发者需要在多个XML文件中配置Action、结果页面、拦截器等,而“零配置”则是对这种繁琐配置的优化。 **一、Struts2框架基础** Struts2是一个基于MVC(Model-View-Controller)设计模式的...
本文将详细介绍Struts2中的两个插件——Zero Config(零配置)与CodeBehind,以及它们如何共同工作以减少配置文件的复杂度。 #### 二、Zero Config插件介绍 Zero Config插件的主要目的是减少甚至消除`struts.xml`...
Struts2内置了多种Result类型,如dispatcher(默认,转发到JSP)、stream(流式结果,常用于文件下载)。 3. **Interceptor**: 拦截器是Struts2的一大特色,它可以实现AOP(面向切面编程)的特性。例如,验证、日志...
在Struts2中,配置文件主要分为两个部分:`struts-default.xml`和用户自定义的配置文件,如`struts.xml`或`struts-config.xml`。这些XML文件定义了Action、结果类型、拦截器和包等元素,从而控制应用程序的行为。 *...
**FreeMarker与Struts2的整合配置详解** ...通过这些配置和使用技巧,你可以高效地利用FreeMarker与Struts2进行Web开发,实现强大的视图层功能。记住,实践是检验配置正确性的最好方式,所以动手尝试并调试你的代码吧!