- PR -

JAVAで入れた改行コードをJSPに表示したい

1
投稿者投稿内容
和也さん
ベテラン
会議室デビュー日: 2006/02/09
投稿数: 78
投稿日時: 2006-02-13 12:49
StrutsでWebアプリを作成しているのですが・・・
どうしても分からない部分があります

JAVA(アクション)部分で、変数:StrWordをJSPに改行コード付で表示しようと思っています。
StrWordには、下記コードのように文字列「あいう\nえお」が格納されています。
\nは改行コードです。

 String StrWord = "あいう\nえお";

JSPには、<bean:write・・・>の部分にStrWordを表示しようとしたのですが、
表示はできるのですが、改行されません・・・

 あいう えお ←のように表示されてしまいます。

どのようにすれば、JSPに改行混じりで表示できるのでしょうか?
できれば、JAVA内で改行コードを指定してJSPに表示したいのですが。。。

ご教授お願いします。
Edosson
ぬし
会議室デビュー日: 2004/04/30
投稿数: 675
投稿日時: 2006-02-13 12:54
この場合は、'\n'じゃなくて、'<BR>'を入れます。
諸葛亮孔明
会議室デビュー日: 2006/02/13
投稿数: 3
お住まい・勤務地: 福岡県
投稿日時: 2006-02-13 13:06
<pre></pre>で囲んでみるか、Edossonさまがおっしゃるように[\n]or[\r\n]を<BR>へ変換すれば可能と思います。
和也さん
ベテラン
会議室デビュー日: 2006/02/09
投稿数: 78
投稿日時: 2006-02-13 13:07
JAVAコードに「あうう'<BR>'えお」とは入れてみたのですが
JSPのHTMLには「あいう&#39;&lt;&#39;えお」と表示されて改行できないんです・・・
おかもと
大ベテラン
会議室デビュー日: 2003/06/08
投稿数: 182
投稿日時: 2006-02-13 13:39
bean:writeタグによってHTMLタグがエスケープされているのでしょう。
エスケープを解除する方法を調べて見てください。
tldファイル見たけどそれらしい属性が無いような・・・。
filterかな?
lei2
会議室デビュー日: 2005/06/22
投稿数: 19
お住まい・勤務地: 東京都23区内
投稿日時: 2006-02-13 13:41
<BR> の前後についているシングルクォーテーションは必要ないですよ。

それと、Strutsを使用しているってことは、JSPでタグライブラリつかっていますか?
bean:write タグを使っているとしたら、そこも改善するべき点かもしれないです。

サーブレット側でStringクラスのオブジェクトに <BR> っていれたとします。
そうすると、それをJSP側では、タグじゃなくてそのままの文字として表示しようとするために、デフォルトでEncodingされちゃいます。
よって、Encodingしないように
<bean:write filter="false" name=・・・(以下略)>
とする。

これで、解決すると思うんですけどいかがでしょう。

追記:おかもとさんとかぶっちゃった。とりあえず、残しておきます。

[ メッセージ編集済み 編集者: lei2 編集日時 2006-02-13 13:45 ]
和也さん
ベテラン
会議室デビュー日: 2006/02/09
投稿数: 78
投稿日時: 2006-02-13 13:49
lei2さんのご指摘どおり
<bean:write filter="false" name=・・・(以下略)>
filter="false"を挿入することで解決しました。
ありがとうございました。

その他たくさんのアドバイスをいただいた皆様方ありがとうございました。
大変勉強になりました。

1

スキルアップ/キャリアアップ(JOB@IT)