JSF:用于为<f:param>赋值的三元运算符失败</f:param>

时间:2010-10-01 07:13:35

标签: jsf xhtml richfaces

我在XHTML文件中使用JSF标记。我的目的是通过将“disabled”属性适当地设置为“true”或“false”来启用或禁用<rich:MenuItem>上下文菜单项。为此,我在三元运算符中使用了一个backing 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>  

这不行!!即使三元操作的结果为“true”,菜单项也始终启用(我猜这是默认行为)。这里有什么我缺少的语法,或者是否有其他方法我可以在XHTML文件中有条件地启用上下文菜单项?

提前致谢。

的问候,
Nagendra U M

1 个答案:

答案 0 :(得分:1)

这个怎么样:

<f:param id="nestlevel" value="#{item.nestLevel > 10}" name="nestlevel" />