こせきの技術日記

2005-07-06

[] JSTLのfn:replaceで改行を置換したい

"${fn:replace(v, "\n", "<br/>")}" は無効な式を含んでいます: 
javax.servlet.jsp.el.ELException: 
[<INTEGER_LITERAL>, <FLOATING_POINT_LITERAL>, <STRING_LITERAL>, 
"true", "false", "null", "(", "-", "not", "!", "empty", <IDENTIFIER>] 
の1つを期待しましたが、""\n" に遭遇しました

といわれる。

244 :nobodyさん :05/01/12 09:19:22 ID:0FZTp8ic
    ${hoge.text}に含まれる改行を<br>タグに置換したいのですが、うまくいきません。
    どうやればいいでしょうか?
    ${fn:replace(hoge.text,"\\n","<br>")}


245 :nobodyさん :05/01/12 16:11:41 ID:???
    >>244
    ${fn:replace(hoge.text,"
    ","<br>")}

246 :nobodyさん :05/01/12 18:50:53 ID:0FZTp8ic
    >>245
    確かにそれでうまくいったのですが、それは正当な方法ですか?

247 :nobodyさん :05/01/12 23:16:31 ID:???
    しらない。それで動く。他に記述方法はない。
    っていうか、正当ってどういうこと?
    理想的かどうかということであれば、式言語のなかでこういう処理すること自体があまりお勧めではないということにも。 

そんなところで改行したくないなー。

ELのSTRING_LITERALの仕様はどうなっているのか。