1

JSF を使用してテキストを生成していますが、テキストを読みやすくするために改行が必要です。私はうまく機能するHTMLバージョンを持っています<br/>.

を挿入するなど、プレーンテキストバージョンでも同じことをしたいと思います\n

私はこのようなことをしています:

<customTagLibrary:customTag>
  <h:outputText value="Exception"/><br/><br/>
  ...
</customTagLibrary:customTag>

の代わりに、<br/>欲しいです\n。それを行う最善の方法は何ですか?

ブラウザに送信されるコンテンツを生成するためにこれを使用していないことに注意してください。これは、電子メール メッセージまたは電子メールの (プレーン テキストの) 添付ファイルを作成するために使用されます。

ありがとう、

ウォルター

4

5 に答える 5

3

Facelets を使用して HTML をレンダリングする場合、これでうまくいきました。

<h:outputText value="&#10;" />
于 2013-03-21T11:06:32.453 に答える
1

単純に HTML の <pre> タグで囲みませんか?

于 2010-01-19T01:26:05.140 に答える
1

h:プレフィックスは html を意味します。したがって、html が必要ない場合は、h:タグを使用しないでください。独自のタグまたは少なくともh:タグのレンダラーを作成し、出力させます\n

しかし、私の個人的な意見では、電子メールには別のテンプレート テクノロジを使用する方がよいということです。

于 2010-01-19T07:11:27.750 に答える
0

テンプレート XML で空白が削除されていると想定しています。残念ながら、EL では文字列リテラルで改行を表現できませんが、( <h:outputText value="#{applicationScope.foo.newline}" />) を含む文字列にバインドすることはできます。ただし、複数のマークアップを提供する必要があるため、これは理想的なアプローチとは言えません。

異なるコンテンツ タイプ間で JSF テンプレートを共有するには、1) テンプレートからすべてのマークアップ固有のタグを削除し、2)現在のマークアップに適切な をRenderKit提供する を提供します。Rendererこれは、JSF の model-view-presenter 設計を使用してコンテンツを提供する方法です。

マークアップ固有の属性をどのように処理するかについて、いくつかの決定を下さなければならない場合があります。デフォルトのレンダー キットは、HTML 具象コンポーネントのレンダリングを対象としています。正確に何をするかは、目標によって異なります。

于 2010-01-19T13:53:49.293 に答える
-1

単純に改行タグを書きます。
aまたは \nを出力する必要があるかどうかを検出します。私のタグ ライブラリでは、次のようになります。

<content:newline/>

ウォルター

于 2010-01-19T13:19:12.363 に答える