gpt4 book ai didi

不插入任何 html 的 JSF-Component

转载 作者:行者123 更新时间:2023-12-04 19:22:46 25 4
gpt4 key购买 nike

我有这样的东西:

<ul>        
<li>User</li>
<li>Admin</li>
..
</ul>

并且仅当实际用户处于“Admin”角色时才想呈现列表项“Admin”。

我知道,我可以这样做:

<ul>        
<li>User</li>
<h:panelGroup rendered="#{request.isUserInRole('admin')}">
<li>Admin</li>
</h:panelGroup>
..
</ul>

然而,由于 h:panelGroup,标记插入了一个“span”元素。

是否有不插入任何 html 的带有“渲染”属性的 JSF 组件?

不幸的是,Facelets ui:remove/ui:include 没有“渲染”属性:

<ul>        
<li>User</li>
<ui:remove rendered="#{request.isUserInRole('admin')}">
<li>Admin</li>
</ui:remove>
..
</ul>

遇到这种情况应该怎么解决?

最佳答案

你的意思可以用ui:fragment实现。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets">

<ui:fragment rendered="#{action.isUserLoggedIn()}">
<!-- this will only be shown to logged in users -->
</ui:fragment>
</ui:composition>

关于不插入任何 html 的 JSF-Component,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10444717/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com