我有JSF渲染的这个问题。我有这个bean包含布尔类型值ulogovan
。
@Named("sessionBean")
@SessionScoped
public class SessionBean implements Serializable{
private boolean ulogovan;
private Zaposleni ulogovanZaposleni;
public SessionBean() {
ulogovan = false;
ulogovanZaposleni = null;
}
public boolean getUlogovan() {
return ulogovan;
}
public void setUlogovan(boolean ulogovan) {
this.ulogovan = ulogovan;
}
我必须根据ulogovan
的值显示表单。这是表格的开头:
<h:form id="form" rendered="#{sessionBean.ulogovan == true}">
答案 0 :(得分:1)
因为ulogovan = false;
所以当你说#{sessionBean.ulogovan == true}
时false == true
是false
。因此,除非您将ulogovan
设置为true
,否则不会呈现您的表单。
如果您希望根据ulogovan
的值呈现表单,请按以下步骤进行呈现:
<h:form id="form" rendered="#{sessionBean.ulogovan}">
答案 1 :(得分:0)
您可以在init()方法中包含@PostConstruct注释。 因此,在渲染页面之前,将首先调用此方法。 您可以根据需要设置条件
@Named("sessionBean")
@SessionScoped
public class SessionBean implements Serializable{
private boolean ulogovan;
private Zaposleni ulogovanZaposleni;
@PostConstruct
public void init() {
setUlogovan(false);
ulogovanZaposleni = null;
}
public boolean getUlogovan() {
return ulogovan;
}
public void setUlogovan(boolean ulogovan) {
this.ulogovan = ulogovan;
}
这肯定会有用。