在 JSF 中动态显示和隐藏 <h1> [重复]

Posted

技术标签:

【中文标题】在 JSF 中动态显示和隐藏 <h1> [重复]【英文标题】:show and hide <h1> dynamically in JSF [duplicate] 【发布时间】:2016-03-10 15:35:07 【问题描述】:

我正在使用 JSF 2.2 和 PrimeFaces 5.2。

在我看来,我体内有以下内容:

<div class="headerDetails">

    <h1> Nombre Empresa: #loginController.login.empresa </h1>

    <h1> Bienvenido: #loginController.login.nombre</h1>

</div>

我想根据登录的用户动态隐藏和显示第一个 &lt;h1&gt;。完成此操作的最佳方法是什么?

【问题讨论】:

您可以将&lt;h1&gt;(和&lt;h2&gt;,如果需要)包含在标准JSF 组件中,例如&lt;h:panelGroup layout="block" rendered="#booleanCondition"&gt;(或&lt;ui:fragment rendered="#booleanCondition"&gt;),在rendered 属性中指定所需的条件。这将有条件地呈现 html &lt;div&gt; 元素(如果指定了 idstylestyleClass 等属性之一,则它将呈现 HTML &lt;span&gt; 元素)。 太棒了!有效!我应该知道该怎么做 【参考方案1】:

这是我为感兴趣的人所做的:

<div class="headerDetails">

    <h:panelGroup layout="block" rendered="#loginTipoController.isEmpresarial()">

        <h1> Nombre Empresa: #loginController.login.empresa </h1>

    </h:panelGroup>

    <h1> Bienvenido: #loginController.login.nombre</h1>

</div>

我的控制器如下所示:

@ManagedBean
@ApplicationScoped
public class LoginTipoController 

    private LoginTipo tipo;

    public LoginTipo getTipo() 
        return tipo;
    

    public void setTipo(LoginTipo tipo) 
        this.tipo = tipo;
    

    @PostConstruct
    public void init()
       
        tipo = new LoginTipo();

        //setting the value from get request
        Map<String, String> params = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();

        tipo.setTipo(params.get("tipo"));
    

    public boolean isEmpresarial()
    
        if(tipo.getTipo().equals("emp")) return true;

        else return false;
    


如果用户是“ind”,我不想显示&lt;h1&gt; 标签。如果是“emp”,我想显示标签。

【讨论】:

以上是关于在 JSF 中动态显示和隐藏 <h1> [重复]的主要内容,如果未能解决你的问题,请参考以下文章

jquery实现点击控制div的显示和隐藏

显示和隐藏功能在 JSF 中不起作用

如何使相同的按钮隐藏和显示块? [复制]

JSF 1.1:有条件地隐藏原始 HTML 和标签

根据用户输入显示或隐藏div

谁知道CSS怎样控制DIV隐藏