在JSF中动态显示和隐藏<h1>

时间:2015-12-05 19:17:01

标签: jsf jsf-2.2

我正在使用JSF 2.2和PrimeFaces 5.2。

我的观点中有以下内容:

<div class="headerDetails">

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

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

</div>

我想动态隐藏并显示第一个<h1>,具体取决于用户登录的内容。实现此目的的最佳方式是什么?

1 个答案:

答案 0 :(得分: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”,我不想显示<h1>标记。如果是“emp”,我想显示标签。