【发布时间】:2011-04-19 17:25:29
【问题描述】:
我在 XHTML 文件中使用 JSF 标记。我的意图是通过适当地将“禁用”属性设置为“真”或“假”来启用或禁用<rich:MenuItem> 上下文菜单项。为此,我在三元运算符中使用支持 bean 变量,并根据 bean 变量将<f:param> 值设置为“true”或“false”,如下所示:
<rich:componentControl event="oncontextmenu" for="network-tree-menu"
operation="show">
<f:param id="nestlevel" value="#{item.nestLevel > 10 ? 'true' : 'false'}"
name="nestlevel" />
</rich:componentControl>
其中item 是支持bean,item.nestLevel 是一个整数。
我稍后会在 XHTML 文件中使用这个 <f:param> 值,如下所示:
<rich:contextMenu ...
<rich:menuItem id="abc" ajaxSingle="true" disabled="{nestlevel}"
onclick="doSomething();" value="Do something...">
</rich:contextMenu>
这不工作!即使三元运算的结果是“真”,菜单项也始终处于启用状态(我猜这是默认行为)。我在这里缺少语法吗,还是有其他方法可以在 XHTML 文件中对上下文菜单项进行有条件的启用?
提前致谢。
问候,
纳根德拉 U M
【问题讨论】:
-
您是否可以在托管 bean 中设置值,即您所说的真或假?
-
我不知道那些 RichFaces 应该如何工作,但
disabled="{nestlevel}"根本不是有效的 EL。