0

コントローラー(サーブレット)でmvcアプリケーションを作成しています。リクエスト変数を入力してから、foreach jstlタグを介してビュー(jsp)に読み込んで表示しようとしています。問題は、セッションから xml を読み取って解析し、jsp ページに属性と要素を表示する方法がわからないことです。以下は私が持っているコードです。

サーブレットで、リクエスト属性を設定します。

request.setAttribute("XMLDocument", xmlResultStr);

これは、xmlResultStr に格納できるサンプル xml です。

<?xml version="1.0" encoding="UTF-8"?>
<SearchResults>
    <result url="http://haacked.com/" totalcount="14">
        <keyword count="9">start</keyword>
        <keyword count="5">end</keyword>
    </result>
    <result url="http://feeds.haacked.com/haacked" totalcount="14">
        <keyword count="9">start</keyword>
        <keyword count="5">end</keyword>
    </result>
</SearchResults>

jspページで、私はこのコードを使用していますが、完全に運がなく、何時間も探していて、これに完全に固執しています:

<x:parse xml="${XMLDocument}" var="xml"/>

                <c:out value="${xml}" />

                <x:forEach select="$xml/SearchResults/result" var="item">
                    <c:set var="elementName" value="url"/> 
<x:out select="$item/*[name()=$elementName]" />
                    <h3><a href="<x:out select="$item/*[name()=$elementName]" />" target="_blank"><x:out select="$item/*[name()=$elementName]" /></a></h3>
                    <p>
                        <%-- somehow display keywords list here, like shown below --%>
                    </p>
                    <hr />
                </x:forEach>

私が欲しいのはこれです:

  <h3><a href="http://haacked.com/" target="_blank">http://haacked.com/</a></h3>
            <p>
                (start - 9, end - 5)
            </p>
            <hr />
4

1 に答える 1