2025-02-15

 

1、Ajax返回xml格式的對象

1)前臺js

function viewIndexGrade(id){

       var offsetObj = event.srcElement;

       var url = "<ww:url value='/xxxAction!getIndexGrades.action'/>?obj.id=" + id;

       var http = new Ajax.Request(url,

              {method: 'get',

              asynchronous: false,

              onComplete:function(oriReq){

                     var pObj = document.getElementById("indexGradDiv");

                     var sb = "<table class='table-border' align='center' cellspacing='1' cellpadding='1' width='100%'>";

                     var responseDoc = oriReq.responseXML;

                     var records = responseDoc.documentElement.childNodes;

                     if(records.length > 0){

                            for(var i = 0; i < records.length; i++){

                                   var indexCode = records[i].selectSingleNode("indexCode").text;

                                   var grade = records[i].selectSingleNode("grade").text;

                                   sb += "<tr>";

                                   sb += "<td class='table-title' style='height:25px' align='left' width='40%'>" + indexCode + "</td>";

                                   sb += "<td class='table-content' style='height:25px' align='center'>" + grade + "</td>";

                                   sb += "</tr>";

                            }

                            sb += "</table>";

                            pObj.style.height = (25 * records.length + 10) + "px";

                     }else{

                            sb += "<tr>";

                            sb += "<td class='table-content' align='center'>無調查數據</td>";

                            sb += "</tr>";

                            sb += "</table>";

                            pObj.style.height = "40px";

                     }

                     pObj.innerHTML = sb;

                     while(offsetObj.tagName != "A"){

                            offsetObj = offsetObj.parentElement;

                     }

                     viewDiv(pObj, offsetObj, true, 0, 0);

              }

       });

}

</SCRIPT>

 

 

2)webwork配置

<xwork>

    <package name="XXX" extends="default">

              <action name="xxxAction" class="com.***.***.action.***Action">

 

                     <result name="xml" type="stringreader">

                            <param name="inputName">stringReader</param>

                            <param name="contentType">text/xml;charset=gb2312</param>

                            <param name="parse">false</param>

                            <param name="bufferSize">1024</param>

                     </result>

                     <interceptor-ref name="saveValidationStack"/>

              </action>

       </package>

</xwork>

 

3)後臺action類處理

protected String xmlStr = "";

public StringReader getStringReader() {

              return new StringReader("<?xml version=\"1.0\" encoding=\"GBK\"?>"

                            + xmlStr);

       }

 

public String getIndexGrades() {

              xmlStr = ***Service.getIndexGrades(obj.getId());

             

              return "xml";

       }

 

 

getIndexGrades方法返回的xml格式是:

<root>

<record>

<indexCode><![CDATA[INDEX]]></indexCode>

<grade><![CDATA[97.81]]></grade>

</record>

</root>

 

如果沒有拼接xml格式的文件頭則js取不到xml對象

<?xml version=\"1.0\" encoding=\"GBK\"?>

 

摘自pcenshao

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *