我想解析网址
title.xhtml?id=1
我在“title.xhtml”中的代码应该看起来像
...
<h:outputText value="#{titles.getTitle(${param.id}).id}"></h:outputText>
...
但不幸的是,这不起作用,因为嵌套的“#”和“$”不被接受。所以我的问题是:我可以使用 URL 参数并将其交给 bean 函数,而无需将其单独存储在 bean 中吗?
那是无效的 EL 语法。您不能也不需要以任何方式嵌套 EL 表达式。甚至嵌套${}
也是无效的。#{}
和之间的唯一区别${}
是它#{}
也可以执行设置操作(如果适用),而${}
只能执行获取操作。
这是有效的 EL 语法:
<h:outputText value="#{titles.getTitle(param.id).id}" />
请注意,这#{param.id}
是完全合法的 JSF EL 语法。为避免将来出现混淆,最好确保您不再${}
在 JSF 中使用旧的 JSP EL 语法。另请参阅JSP EL、JSF EL 和 Unified EL 之间的区别。