我想根据条件更改变量值,所以我尝试了以下内容:
<h:head>
<ui:param name="userCase" value="Insert" />
<ui:fragment rendered="#{employee.employeesBulkInsert==false}">
<ui:param name="userCase" value="Update" />
</ui:fragment>
<title>#{userCase} Employee </title>
</h:head>
Run Code Online (Sandbox Code Playgroud)
但它在更新的情况下不起作用,它显示一个空字符串,任何想法为什么?
我知道还有其他解决方案,比如在支持bean中定义变量,或者直接在title标签上创建条件ui片段,但我想知道为什么上面的不起作用,请指教,谢谢.
Bal*_*usC 13
这<ui:fragment>
是一个渲染时标记,而<ui:param>
标记处理程序(标记处理程序很容易通过缺少rendered
属性识别).因此,当构建视图时<ui:param>
,无论结果如何,都会设置<ui:fragment>
.该rendered
属性<ui:fragment>
仅被评估时,已经建成的观点是被渲染.
您希望使用标记处理程序来创建条件,例如JSTL <c:if>
.
<ui:param name="userCase" value="Insert" />
<c:if test="#{not employee.employeesBulkInsert}">
<ui:param name="userCase" value="Update" />
</c:if>
Run Code Online (Sandbox Code Playgroud)
(注意我删除了不必要的布尔==false
比较)
归档时间: |
|
查看次数: |
9843 次 |
最近记录: |