我的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);
}
答案 0 :(得分: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结果类型。
修改:您也可以使用流结果。