2015-02-23 102 views
0

我有JSF呈現這個問題。我有這個bean包含布爾類型值ulogovanJSF呈現形式不起作用

@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

你想做什麼?你得到的錯誤是什麼? – Tarik 2015-02-23 19:44:52

+0

我沒有得到任何錯誤,它只是沒有以任何方式顯示窗體 – djoleasterix 2015-02-23 22:26:13

+1

除了答案,避免在這種情況下在bean中使用構造函數。改爲使用'@ PostConstruct'。 – Tiny 2015-02-24 03:20:27

回答

1

因爲ulogovan = false;所以當你說#{sessionBean.ulogovan == true}意思false == true這是false。因此,除非您將ulogovan設置爲true,否則不會呈現您的表單。

如果你想取決於ulogovan值來呈現你的表格,只是做這樣的:

<h:form id="form" rendered="#{sessionBean.ulogovan}"> 
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; 
} 

這一定會努力。