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