【发布时间】:2011-01-12 15:51:19
【问题描述】:
我在使用 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})"
我尝试过使用括号,但没有正确解析它。
提前致谢。
【问题讨论】:
-
我正在使用 facelets。我编辑了帖子以添加该信息,这确实是相关的