• ベストアンサー

JSPファイルの書き出し

いつもお世話になっています。 ただ今とあるJSPファイルを呼ぶと他のJSPファイルを作成するものを作成中です。 ファイルに書き出す内容をプログラム上でStringBufferに格納しているのですが、コンパイルエラーが発生してしまっています。 StringBuffer buf = new StringBuffer(""); buf.append("if(Arrays.binarySearch(myGroup,path)){"); buf.append("\n %>\n"); この部分でエラーが発生してしまいます。 エラーの内容は 文字列が行の最後で終了していません。 buf.append("\n       ^ となっています。 何が原因なのでしょうか? どなたかご教授お願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • dsuekichi
  • ベストアンサー率64% (171/265)
回答No.3

> buf.append("\n %>\n"); > buf.append("\n JSPのプログラム部分って、「<%~%>」で括って記述しますよね・・・ > %>\n"); の「%>」が、「JSPの終了」と誤認されているとか・・・ > buf.append("\n %"); > buf.append(">\n"); こういう風に2行にしたらどうなります?

hisajiro
質問者

お礼

早速上記の通り分けてappendした所、問題無く動きました。 よく考えて見ればJSPのソースなのですからJSPの終了と誤認されてもおかしくないですね。 なぜ気がつかなかったのかと赤面してしまいそうです。 本当にありがとうございました。

その他の回答 (2)

noname#41855
noname#41855
回答No.2

質問に書かれていたソースをコピペしてコンパイルしましたが、僕の環境(JDK 1.4.2)ではエラーになりません…。 ダブルクォテーションが閉じられていないとか。 ""で囲まれた以外に全角文字が混ざっているとか。 コメントを日本語で書いているが文字セットが違っているとか。 …そんなことはありませんか?

hisajiro
質問者

お礼

バージョンの記述を忘れてしまい申し訳ありませんでした。 当方1.3です。 1.4だとエラーにならないのですか・・・ No.3の回答のようにappendした所問題無く動きました。 回答ありがとうございました。

  • Hardking
  • ベストアンサー率45% (73/160)
回答No.1

変数bufに格納する内容は、JSPファイルとしての書式 となので改行したいならば改行文字\nではなく HTMLの改行タグ<BR>を格納するべき。 buf.append("%><BR>");

hisajiro
質問者

お礼

回答ありがとうございました。 解決できました。

関連するQ&A