1

我想解析网址

title.xhtml?id=1

我在“title.xhtml”中的代码应该看起来像

...
<h:outputText value="#{titles.getTitle(${param.id}).id}"></h:outputText>
...

但不幸的是,这不起作用,因为嵌套的“#”和“$”不被接受。所以我的问题是:我可以使用 URL 参数并将其交给 bean 函数,而无需将其单独存储在 bean 中吗?

4

1 回答 1

1

那是无效的 EL 语法。您不能也不需要以任何方式嵌套 EL 表达式。甚至嵌套${}也是无效的。#{}和之间的唯一区别${}是它#{}也可以执行设置操作(如果适用),而${}只能执行获取操作。

这是有效的 EL 语法:

<h:outputText value="#{titles.getTitle(param.id).id}" />

请注意,这#{param.id}是完全合法的 JSF EL 语法。为避免将来出现混淆,最好确保您不再${}在 JSF 中使用旧的 JSP EL 语法。另请参阅JSP EL、JSF EL 和 Unified EL 之间的区别

于 2012-12-30T03:29:53.363 回答