1

我的 struts.xml 部分

<action name="viewall" class="com.abc.csm.actions.GetAllConfiguration">
         <result name="success">/success.jsp</result>
    </action>

在 Welcome.jsp 的页面加载上,我调用了一个函数,该函数getXml()应该接收 xml 作为响应,但我得到的是success.jsp内容

function getXml()
{
 var url_action="/csm/viewall.action";
 var client; 
 var dataString;

 if (window.XMLHttpRequest){ 
     client=new XMLHttpRequest();
 } else {                    
     client=new ActiveXObject("Microsoft.XMLHTTP");
 }

 client.onreadystatechange=function(){

     if(client.readyState==4&&client.status==200)
     {
         alert(client.responseText); /* here i want to get the actual response i.e., my xml. I am also using fiddler to monitor. */

     }
 };

 dataString="projectid=1-105101";
 client.open("POST",url_action,true);
 client.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

 client.send(dataString);
}
4

1 回答 1

2

在 struts.xml 你有:

<result name="success">/success.jsp</result>

这与以下内容相同:

<result type="dispatcher" name="success">/success.jsp</result>

调度程序结果类型是默认值,这意味着渲染 jsp。这就是正在发生的事情,您得到的是 jsp 而不是 xml 的结果。

以下是内置结果类型的列表:http://struts.apache.org/2.0.6/docs/result-types.html 您可能对 xslt 结果类型感兴趣。如果您不介意在 JSON 中工作,将 struts2-json-plugin 添加到您的类路径会为您提供非常易于使用的 json 结果类型。

编辑:您也可以使用流结果。

于 2011-06-21T05:43:40.023 回答