2009-08-21 7 views
4

表現言語(EL)を使用して、Java Beanのオブジェクトを.jspファイル内で使用することができます。したがって、私は$ {foo.bar}を入力することで自分の価値を得ることができます。しかし、#{foo.bar}も使用できます。

違いを説明したり、意味のある情報を提供することができますか?

答えて

6

#{foo.bar}シンタックスはJSF表現言語のものです。いくつかの明るいスパークは、JSP EL(つまり、${foo.bar})に別の構文を使用することをお勧めします。私は、いくつかのJSPコンテナがこのコックアップに対して寛容であり、いずれかを使用できるようにしていると思います。

+0

私はいつでも私が望む#$ {...}を使用することができます。#{...}は同じ機能を持っています。明るい火花:D ありがとう;) – Marcus

+0

JSFは、1日目から激しく混乱し、以来、彼らはそれ以来ずっとひび割れの上に紙をしようとしてきました。 – skaffman

+0

Ok ...しかし、なぜそれは混乱ですか?私はそれに新しいので、それは多くの経験がありません;) – Marcus

17

これはJSP 2.1 specでカバーされています。 Java EEの、#{expr}

即時評価ため延期評価${expr}のために使用されています。遅延式(#{expr})式は、それらを受け入れるタグ属性でのみ使用できます。これはJava EEの規約ですが、他のドメインでは独自の意味があります(たとえば、use EL in your own templatesとしたい場合)。

+0

ああ、興味深い、私はそれを認識していませんでした。 +1 – skaffman

関連する問題