`
lillian1205
  • 浏览: 17333 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Struts2 返回 xml 信息

阅读更多
以前用struts2,每次响应返回都是跳转到页面。这次的需求是要返回一个xml,查看了struts2的文档,当result的类型为xslt时,可以返回xml。但是对xslt不太熟悉,放弃了此方法。在网上搜了下,找到下面两种取巧的方法:
 
     方法一: 直接利用ActionSuport的execute方法:
    
        struts.xml中代码,不需要定义 result,
        

       <action name="OutxmlExecute"  class="com.OutxmlExecuteAction" >
              
       </action>

        

      
       Action中代码,注意这里execute方法的返回为null,:
         
public String execute() throws IOException{
		String outPut = "<persons>";
		outPut += "<person1><name>hanyoud</name><age>25</age></person1>";
		outPut += "<person2><name>张三</name><age>18</age></person2>";
		outPut += "<person3><name>李四</name><age>20</age></person3>";
		outPut += "</persons>";
		
		//转换编码 否则汉字显示为乱码
		outPut = new String(outPut.getBytes("UTF-8"),"ISO-8859-1");
		
		
		
		HttpServletResponse response = ServletActionContext.getResponse();
        response.setContentType("text/xml ");
        PrintWriter pw = response.getWriter();
        pw.print(outPut);
		System.out.println("-------------------------------");
		return null;
	}


        




    方法二:利用result类型为plaintext返回xml

     struts.xml代码,
      
<action name="Outxml" method="outxml" class="com.OutxmlAction" >
               <result name="xmlMessage" type="plaintext"></result> 
                        
       </action> 
      


     Action中代码:

      public   void  outxml() throws IOException   { 
		System.out.println("=======================");
        HttpServletResponse response = ServletActionContext.getResponse(); 
        response.setContentType( "text/xml " ); 
        PrintWriter pw = response.getWriter(); 
        pw.print( "<persons>" ); 
        pw.print( "<person1><name>hanyoud</name><age>25</age></person1>" ); 
        pw.print( "<person2><name>ss</name><age>18</age></person2>" ); 
        pw.print( "</persons>" ); 
    } 
 


      
0
1
分享到:
评论
1 楼 wenwen_java 2011-11-22  
谢谢了

相关推荐

    Struts2_result返回类型

    在struts2的返回结果配置中,我们大部分情况使用默认的或者chain或者redirect,其实struts2还有很多其他类型的,今天我们就来看一下都有哪些类型。 打开struts2的源码中struts-default.xml文件,我们能看到如下配置

    Struts2返回JSON对象

    将jsonplugin-0.30.jar放到工程的lib下面,然后struts2在struts.xml的配置文件中可以指定返回的结果集的类型为:json,把返回的结果封装为json字符串JSON插件是Struts2的Ajax插件,通过利用JSON插件,允许开发者以...

    javaWeb_struts2框架实现简单用户注册登录

    3.控制器采用action开发,替代传统的servlet,直接跳转页面返回一个字符串即可,需配置struts.xml对应的jsp。 4.struts2,可以直接对表单提交的数据封装成对象,简洁!当然需要在web.xml中配置核心filter—...

    根据所学习的Struts 2的相关知识,设计Struts2框架下的登录功能

    2. 建立一个Web Project(命名为struts_exam1),并添加Struts 2 的相关jar 包; 3. 编写登录页面(login.jsp)、登录成功(login_success.jsp)和登录失败页面(login_fail.jsp); 4. 编写Ation实现类,实现execute()...

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

    (2).struts.xml文件 4 (3).struts.properties(参default.properties) 4 (4)struts-default.xml 4 (5)其它配置文件 4 4.让MyEclipse提示xml信息 4 5.如何使用alt+/提示 4 6.实例 4 7.开启struts2自带的...

    struts2流程与流程图

     一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果result。 Struts 2的核心控制器是FilterDispatcher,有3个重要的方法:destroy()、doFilter()和Init(),可以在Struts 2的下载...

    struts、applicationContext配置文件移动后web.xml配置示例

    使用myeclipse8.5搭建SSH后,将struts.xml和applicationContext.xml移动到别的地方,示例中为webroot下的config文件夹中,web.xml中需要做的修改示例。其中对于返回上一层方式不同的myeclipse可能不同,如有的用../...

    struts2 result转向到action

    从jsp页面提交form表单后,在struts.xml中寻找匹配的action。在action中处理完业务后返回,在struts.xml中的result属性中转向到另外一个action。

    Struts2的工作原理和流程

    8 一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果通常是(但不总是,也可 能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。在表示的过程中可以...

    Struts2+Spring+Hibernate+Ehcache+AJAX+JQuery+Oracle 框架集成用户登录注册Demo工程

    1)Demo 学习要点简介: ...2.Eclipse 导入后可能需要在 Xml Catalog 手动添加:ehcache-spring-1.2.xsd(ehcache-spring-annotations-1.2.0-sources.jar里面有,自己找下)。 3.内附Oracle建表等可执行语句。

    struts2开发文档

    8 一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找 到对应的返回结果。返回结果通常是(但不总是,也可 能是另外的一个Action 链)一个需要被表示的JSP或者FreeMarker的模版。在表示的过程中可以...

    struts2课件

    struts2课件 很好的struts2当输入login.jsp访问jsp页面填写完相关信息并提交给login.action时,它会首先被在web.xml中配置的过滤器监听到,过滤器会去查找strust.xml文件,并结合namespace查找名为login的action,...

    第一个struts程序

    这个问题搞了一个晚上。(希望对初学的朋友有帮助) 发现不能运行的原因 1、login.jsp的form表格里的...4、struts.xml中的&lt;result name="Sucess"&gt;/loginsucess.jsp&lt;/result&gt; name要与LoginAction.java的返回结果相对应.

    Struts框架的学习

    4、 主控制做出判断通过Struts-confing.xml配置文件去问符合要求访问的副控制器 5、 在调用Biz 时 Entity实体对象将请求参数做了第三次封装处理 6、 Action副控制器获得请求信息再调用符合要求Biz去实现功能 7、 在...

    jfreechar 整合struts2.1.8版本生成线图,饼图,柱形图

    -- include节点是struts2中组件化的方式 可以将每个功能模块独立到一个xml配置文件中 然后用include节点引用 --&gt; &lt;include file="struts-default.xml"&gt; &lt;!-- package提供了将多个Action组织为一个模块的方式 ...

    Struts2+Jquery实现ajax并返回json类型数据

    主要实现步骤如下: 1、JSP页面使用脚本代码执行ajax请求 2、Action中查询出需要返回的数据,并转换为json类型模式数据 3、配置struts.xml文件 4、页面脚本接受并处理数据!

    struts 2详细配置

    关于 web容器的配置、struts——xml的配置,以及返回类型的描述......

    Struts2.1.6中关于JSON的配置和使用

    1,需要把jsonplugin-0.33.jar拷贝到Web-INF/lib目录下....2,在struts2.1.6的配置文件中进行配置,就是返回的类型是json,并且要为JSON数据单独创建一个Package,继承的包不再是struts-default,而是json-default

    谈谈你对Struts的理解。

     4.action执行完后要返回显示的结果视图,这个结果视图是用一个ActionForward对象来表示的,actionforward对象通过struts-config.xml配置文件中的配置关联到某个jsp页面,因为程序中使用的是在struts-config.xml...

    一个struts的action跳转大全

    首先,Struts的ActionServlet接收到一个请求,然后根据struts-config.xml的配置定位到相应的mapping (映射);接下来如果form的范围是request或者在定义的范围中找不到这个form,创建一个新的form实例;取得form...

Global site tag (gtag.js) - Google Analytics