我在使用 EL 和 javascript 函数(JSF 1.2、Facelets、Richfaces 3.3.0GA)时遇到问题。我有一个包含另一个组合的页面:
<ui:include src="/pages/panels/examinationPanel.xhtml">
<ui:param name="prefix" value="new" />
而在我的ui:composition
我想附加prefix
到每个id。例如:
<rich:modalPanel id="#{prefix}_examinationPanel">
这行得通。
但是当我想访问函数中的组件时问题就来了,例如oncomplete
我无法正确连接字符串。例如
oncomplete="#{rich:component('#{prefix}_examinationPanel')}.show();"
我也尝试过,fn:join
但它不执行该函数,因为它在找到“#”字符时会抱怨错误。例如:
oncomplete="#{rich:component(fn:join(#{prefix},'examinationPanel'))}.show()"
投掷
SEVERE: Servlet.service() for servlet Faces Servlet threw exception org.apache.el.parser.ParseException: Encountered "fn:join( #" at line 1, column 33.
Encountered "fn:join( #"
如果我用括号或 # 和括号括起来会出现不同的错误。
我究竟做错了什么?
还有一个问题,在一个条件命令中,比如
oncomplete="#{a}?#{b}:#{c}"
当真或假时,我如何“分组”以便能够执行更多操作?例如这样的:
oncomplete="#{a}?(#{b}#{f}):(#{c}#{d}#{e})"
我试过用括号,但没有正确解析它。
提前致谢。