2

フォーマットされた XML 文字列を返すメソッドがあります。私はそれを JSF ページ上でうまくラップされた読みやすい方法で示したいと思っています。最初にこのソリューションを使用しました。

<pre><h:outputText value="myBean.xml"/></pre>

結果はインデントされますが、非常に長い行は折り返されません (たとえば、多くの属性があります)。

RichFaces は私のプロジェクトでも利用できます。何を提案しますか?

前もって感謝します、ダニエル

4

1 に答える 1

14

私があなたを正しく理解しているかどうかはわかりませんが、JSFページにそのまま表示したいXMLデータを含むプレーンなバニラ文字列である場合、最初の論理的なステップは、解析されないようにHTMLエンティティをエスケープすることですHTMLとして。これには h:outputText を使用できます。デフォルトでは、HTML エンティティをエスケープします (これは、'escape' 属性で制御できます)。

<h:outputText value="#{bean.xmlString}" />

または、フォーマットされていてフォーマットを維持したい場合は、親 HTML 要素に CSS white-space:pre プロパティを適用します。

または、構文の強調表示 (色など) を追加する場合は、そのタスクを実行する Javascript ライブラリを検討してください。「javascript xml 構文の強調表示」をグーグルで検索すると、十分な結果が得られるはずです。

于 2009-11-01T19:46:23.920 に答える