先日書いた、EL関数のオーバーロードができなかったり、配列リテラルがなかったりする件も不便ですが、文字列の結合ができないという点もかなり不便だったりします。
文字列結合のつもりで
${bean.property1 + bean.property2}
なんて書いたりすると、プロパティの型が数値型でないと例外が飛びます。結合して表示するだけなら
${bean.property1}${bean.property2}
とか書けばいいんですけど、結合した値をEL関数の引数に渡したいときは
- 予め結合した値をリクエストにsetAttribute()しておく
- JavaBean側に結合した値を返すgetterメソッドを用意しておく
- c:setタグなどで一度結合した変数を定義しておく
など、どれもいまいちな方法しかありません。
ELをあまりリッチにしてしまうとビューが複雑になってしまうので本末転倒になり兼ねませんが、文字列の結合くらいはできてもいい気がするんですけどねぇ…。