-1

私は開発者ではなく、アドホックに物事を取り上げていますが、少し問題があります。私がやっているアプリはシンプルです。Hyperic への Web サービス呼び出しを行って、サーバー グループのステータスを取得し、その結果、xml 出力が得られます。

例えば

<LastMetricsDataResponse>
    <Status>Success</Status>
    <LastMetricData resourceId="11678" resourceName="ptseelm-ax4066.myco.com HQ Agent 5.7.1" metricId="15126" metricName="JVM Free Memory">
        <DataPoint timestamp="1380197100000" value="1.479712E7"/>
    </LastMetricData>
    <LastMetricData resourceId="11678" resourceName="ptseelm-ax4066.myco.com HQ Agent 5.7.1" metricId="15127" metricName="JVM Total Memory">
        <DataPoint timestamp="1380197100000" value="3.5864576E7"/>
    </LastMetricData>
</LastMetricsDataResponse>

私が JSP を書いているサーバーは、Spring Framework ライブラリが既に存在する Tomcat6 サーバーであるため、必要がなければ他のライブラリを使用するのは馬鹿げているようです。

私が基本的に行う必要があるのは、おそらくresourceNames、metricNames、timestamp、および値を取得することです...それらを値に基づいてテーブルまたは信号機のようなものに出力します。

私が立ち往生しているそのステップ1は、単純にwebserviceurlを呼び出して、ハッシュマップやコレクションなどに必要なもののXMLを解析できる単純なJSPです。

初心者を助けてください:)

4

1 に答える 1

1

Spring MVC アプリケーションを既にお持ちの場合、最も簡単な解決策は、単純なJAXBアノテーションを使用して XML Web サービス応答を Java オブジェクトにマーシャリングすることだと思います。

(JAXB は Tomcat や Spring には含まれていませんが、軽量の Jar であり、問​​題をエレガントに解決します)

次に、Spring コントローラーから、整列化されたオブジェクトをModelMapに配置して、JSP から値を取得できます。

  • XML を Java POJO に、またはその逆に変換する JAXB の基本的な例については、 この簡単なチュートリアルを参照してください。
  • このチュートリアルを参照 して、Spring コントローラーから JSP にオブジェクトを渡す方法を理解してください

ただし、既存のライブラリのみを使用することが最優先の場合は、Java 標準のDocumentBuilderを使用して XML をドキュメントに解析し、 NodeListコレクションとして名前でタグを取得できます。

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(new InputSource(new StringReader(xml)));
NodeList lastMetrics = doc.getElementsByTagName("LastMetricData");
于 2013-09-26T12:35:54.427 に答える