読者です 読者をやめる 読者になる 読者になる

文系プログラマによるTIPSブログ

文系プログラマ脳の私が開発現場で学んだ事やプログラミングのTIPSをまとめています。

jspでドルマークがel式と解釈されてエラーになる件について

java

tree-tips: 主にsolr・MySQLのtipsを掲載しています
シェルスクリプトの記事を書いていていて、
シェルスクリプトの変数とel式の「${}」の記述が全く同じなのでエラーになりました。

具体的には以下のコードをjspで表示しようとして、パースエラーになりました。

for table in "${tables[@] views[@]}"

「${tables」がel式と判断されてしまったのです。
以下のように$をエスケープすることで解決できます。
el式の解釈の問題なので、レンダリングの時点でエスケープする必要があります。

for table in "${f:h("$")}{tables[@] views[@]}"

面倒くさいし冗長なのでもっと簡単な記述をしたいですが、
HTML標準のエスケープ表記が用意されてないのです。
&を&とする感じでエスケープしたいですね。