4

我可以通过使用表达式语言 (EL) 在 .jsp 文件中使用来自我的 Java Bean 的对象。因此我可以通过输入 ${foo.bar} 来获得我的价值。但我也可以使用#{foo.bar}。

任何人都可以解释差异或提供有意义信息的链接吗?

4

2 回答 2

17

这包含在JSP 2.1 规范中。

在 Java EE 中,#{expr}用于延迟评估立即${expr}评估。延迟表达式 ( ) 表达式只能与接受它们的标记属性一起使用。这是 Java EE 约定,但其他域可以强加它们自己的含义(例如,如果您想在自己的模板中使用 EL)。#{expr}

于 2009-08-21T12:53:51.250 回答
6

#{foo.bar}语法来自 JSF 表达式语言。一些聪明的火花认为使用与 JSP EL 不同的语法(即${foo.bar})是个好主意。我认为一些 JSP 容器可以容忍这种错误,并让您使用其中任何一个。

于 2009-08-21T11:32:14.060 回答