0

setvlet のコード:

request.setAttribute("データ", sb); request.getRequestDispatcher("/viewLogs.jsp").forward(リクエスト、レスポンス); ここで sb は文字列バッファです。コンソールでsbを印刷するときに完全に印刷しますが、viewLogs.jspで同じものを印刷しようとすると、$ {data}を使用しています正しく印刷されません(XMLデータを含む文字列バッファも.jspページにタグが印刷されていません) .しかし、同じ文字列バッファがコンソールに完全に出力されています。文字列バッファの内容をユーザーに適切に表示する方法を教えてください。

4

2 に答える 2

0

JSPでの印刷:

<% out.append( sb.toString() ); %>

ただし、最初にsb内にあるものを正しいHTMLに変換する必要があります。

  • "> "は"&gt"になります;

  • 「<」は「&lt」になります;

    ..。

于 2013-02-19T15:59:22.133 に答える
0

無事印刷完了です。右クリックしてソースを表示します。それはすべてそこにあります!有効な HTML として認識できないだけなので、ブラウザは表示中に無視します。

XML コンテンツをプレーン テキストとして表示することが目的の場合は、HTML タグの開始と終了を示す<など、そうでなければ HTML として解釈される文字を XML エスケープする必要があります。>

標準的な解決策は、そのためにJSTL <c:out>を使用することです。

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

書式設定 (空白など) を保持したい場合は、 に入れ<pre>ます。

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

white-space:preまたは、親要素にCSS を適用します。

<div class="preformatted"><c:out value="${data}" /></div>

.preformatted {
    white-space: pre;
}
于 2013-02-19T16:24:28.123 に答える