在 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>
我想根据登录的用户动态隐藏和显示第一个 <h1>
。完成此操作的最佳方法是什么?
【问题讨论】:
您可以将<h1>
(和<h2>
,如果需要)包含在标准JSF 组件中,例如<h:panelGroup layout="block" rendered="#booleanCondition">
(或<ui:fragment rendered="#booleanCondition">
),在rendered
属性中指定所需的条件。这将有条件地呈现 html <div>
元素(如果指定了 id
、style
、styleClass
等属性之一,则它将呈现 HTML <span>
元素)。
太棒了!有效!我应该知道该怎么做
【参考方案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”,我想显示标签。
【讨论】:
以上是关于在 JSF 中动态显示和隐藏 <h1> [重复]的主要内容,如果未能解决你的问题,请参考以下文章