JSP-ELで不便なところ

先日書いた、EL関数のオーバーロードができなかったり、配列リテラルがなかったりする件も不便ですが、文字列の結合ができないという点もかなり不便だったりします。
文字列結合のつもりで

${bean.property1 + bean.property2}

なんて書いたりすると、プロパティの型が数値型でないと例外が飛びます。結合して表示するだけなら

${bean.property1}${bean.property2}

とか書けばいいんですけど、結合した値をEL関数の引数に渡したいときは

  • 予め結合した値をリクエストにsetAttribute()しておく
  • JavaBean側に結合した値を返すgetterメソッドを用意しておく
  • c:setタグなどで一度結合した変数を定義しておく

など、どれもいまいちな方法しかありません。
ELをあまりリッチにしてしまうとビューが複雑になってしまうので本末転倒になり兼ねませんが、文字列の結合くらいはできてもいい気がするんですけどねぇ…。