`
caizhongda
  • 浏览: 188219 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Struts2 与 freemarker 生成Json、XML 的模板

阅读更多
必须加入的包有jsonplugin-0.30.jar,xsttream-1.3.jar,freemarker-2.3.8.jar

///struts.xml
<struts>
    <include file="struts-default.xml"/>
    <package name="json" extends="json-default">
        <action name="extjs" class="book.action.ExtjsAction">
            <result type="json"/><!-- 这里生成Json -->
        </action>
        <action name="extjsXml" class="book.action.ExtjsAction">
            <result type="freemarker">
	            <param name="location">template/gridXml.ftl</param>
	            <param name="contentType">application/xml</param>
            </result>
        </action>
    </package>
</struts>

模板如下,
//src/template/gridXml.ftl

<?xml version="1.0" encoding="utf-8"?>
<list>
  <Total>
    <results>${results}</results>
  </Total>
  <#list items as item>
  <#assign recordName=item.class.name.replaceAll(".*\\.","")>
  	<${recordName}>
  	<#assign methods=item.class.declaredMethods>
  	<#list methods as method>
  		<#assign isGetMethod=method.name.startsWith("get")>
  		<#if isGetMethod = true>
  		<#assign methodName=method.name.replaceAll("get","").toLowerCase()>
	  		<${methodName}>
	  			${method.invoke(item,null)}
	  		</${methodName}>
  		</#if>
  	</#list>
  	</${recordName}>
  </#list>
</list>







·
分享到:
评论

相关推荐

    struts2-freemarker

    **Struts2与FreeMarker整合**: 1. **视图渲染**:Struts2 Action执行完成后,可以通过配置将结果导向FreeMarker模板。例如,设置`&lt;result type="freemarker"&gt;/WEB-INF/views/result.ftl&lt;/result&gt;`。 2. **数据传递*...

    Struts2+freemarker

    **Struts2与FreeMarker的结合** 在Struts2中,FreeMarker被用作视图层,Action执行后返回的结果通常是渲染一个FTL模板。通过Struts2的标签库,可以在FTL页面中方便地调用Action方法,获取数据并显示。例如,`...

    struts2.0+freemarker实例.rar

    通过解压并运行这个实例,你可以了解到如何将Struts2的Action与FreeMarker模板结合起来,实现动态网页的生成。 总结起来,Struts2.0和FreeMarker的结合使用,能帮助开发者构建清晰的MVC架构,提高代码的可读性和可...

    struts2.0整合freemarker

    2. **配置Struts2**:在struts.xml文件中配置Struts2的核心过滤器,并设置Freemarker为默认的视图解析器。例如: ```xml &lt;filter-name&gt;struts2 &lt;filter-class&gt;org.apache.struts2.dispatcher.ng.filter....

    Struts2_JSON_Demo

    下面我们将深入探讨Struts2与JSON的结合及其相关知识点。 1. **Struts2框架基础**: - **Action类**:在Struts2中,Action类是业务逻辑的载体,它处理用户请求并返回结果。 - **Result类型**:Struts2支持多种...

    Struts2中使用JSON数据格式所需全部jar包

    4. `freemarker-x.x.x.jar`:虽然不是直接处理JSON,FreeMarker是Struts2默认的视图技术,有时可能需要将JSON数据与FreeMarker模板结合使用。 5. `struts2-core-x.x.x.jar`:Struts2的核心库,包含Action、...

    struts2+ajax+json的集成

    在这个集成中,Struts2作为MVC框架处理业务逻辑和控制流程,Ajax提供异步数据交换能力,而Json则作为数据交换格式,简化了客户端与服务器之间的通信。jQuery通常作为JavaScript库来简化Ajax操作。 首先,让我们深入...

    struts2+jQuery+json 实例

    Struts2、jQuery和JSON是Web开发中的三个关键组件,它们共同构成了高效、动态和交互式的用户界面。这里我们将深入探讨这三个技术,并结合实例来理解它们如何协同工作。 首先,Struts2是一个基于MVC(Model-View-...

    ExtJs + Struts2 + JSON 程序总结

    ExtJs + Struts2 + JSON 是一种常见的前端与后端数据交互的技术组合,常用于构建富客户端应用。这里我们详细探讨一下这三个技术组件以及它们如何协同工作。 首先,ExtJs 是一个JavaScript库,用于创建复杂的、用户...

    Struts2返回JSON对象.doc

    4. freemarker-2.3.15.jar - FreeMarker,模板引擎,用于生成动态内容。 5. commons-fileupload-1.2.1.jar - Apache Commons FileUpload,处理文件上传。 6. commons-io-1.3.2.jar - Apache Commons IO,处理I/O操作...

    TestStruts2JSON程序源码

    在"TestStruts2JSON"程序源码中,可能包含了Action类、struts.xml配置文件、以及其他可能涉及的如JSP或Freemarker模板文件。这些文件共同展示了如何在Struts2框架下构建一个能够生成和处理JSON响应的应用。通过分析...

    struts2 jquery xml

    在实际项目中,Struts2与jQuery的整合可以带来高效的前后端交互。通过JSON格式,Action可以直接返回数据到前端,jQuery解析并更新DOM。例如,使用jQuery的Ajax方法发送请求到Struts2 Action,获取数据后更新页面部分...

    (struts2-json-plugin-2.2.1)struts2 json-default配置中需要的jar包

    5. **freemarker.jar**:FreeMarker是一个模板引擎,Struts2使用它来渲染视图。 6. **commons-fileupload.jar** 和 **commons-io.jar**:用于处理文件上传。 7. **javassist.jar**:动态代码生成库,Struts2在某些...

    Struts2+jQuery(不用JSON)实现局部刷新

    4. **Struts2与jQuery的集成**: - **Struts2的JSON插件**:虽然题目要求不使用JSON,但通常情况下,Struts2通过JSON插件返回数据给jQuery是最方便的方式。不过,我们可以通过设置Content-Type为"text/plain"或...

    struts2使用json返回对象和列表(案例)

    在Struts2中,JSON(JavaScript Object Notation)的使用极大地增强了与前端JavaScript进行异步交互的能力,使得AJAX(Asynchronous JavaScript and XML)应用变得更加简单。在Struts2中集成JSON,我们可以实现将...

    Struts2手动搭建所有的jar包及相应的struts.xml和web.xml

    2. **依赖的第三方库**:如ognl.jar(Object-Graph Navigation Language)、freemarker.jar(模板引擎)等,它们用于视图渲染和表达式语言处理。 3. **插件库**:根据你的项目需求,可能还需要如struts2-convention-...

    struts2+json+ajax+jquery

    这些文件可能包含了HTML页面、JavaScript脚本、Struts2的配置文件、Action类以及可能的JSP或FreeMarker模板文件。 总结来说,Struts2提供了后台处理和视图控制,JSON负责数据传输,Ajax实现了无刷新交互,而jQuery...

    Struts2 json插件入门指南.pdf

    - `freemarker-2.3.18.jar`: 是一个用于生成输出文本的模板引擎。 - `ognl-3.0.3.jar`: 用于解析表达式和执行计算。 - `struts-core-1.3.10.jar`: Struts2的核心库。 - `xwork-core-2.3.1.1.jar`: XWork框架的...

    struts-ajax-json-struts包

    Struts-AJAX-JSON-Struts 包是基于经典的Struts框架,为了实现AJAX(异步JavaScript和XML)和JSON(JavaScript Object Notation)交互功能而设计的一组库和资源集合。这个包通常包含了Struts框架的核心组件,以及...

    Struts2JQueryJson

    此外,Struts2支持多种视图技术,包括JSP、FreeMarker、Velocity等,而与jQuery和JSON的集成则进一步增强了其在前端展示和数据交换的能力。 **jQuery库** jQuery是一款高效、简洁、功能丰富的JavaScript库,它简化...

Global site tag (gtag.js) - Google Analytics