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をレンダリングすることを意味します。これが起こっていることです、あなたはxmlではなくjspの結果を得ています。

組み込みの結果タイプのリストは次のとおりです。http: //struts.apache.org/2.0.6/docs/result-types.htmlxslt 結果タイプに興味があるかもしれません。JSONでの作業を気にしない場合は、クラスパスにstruts2-json-pluginを追加すると、非常に使いやすいjson結果タイプが得られます。

編集:ストリーム結果を使用することもできます。

于 2011-06-21T05:43:40.023 に答える