我在JSF 2.0项目中使用SessionScoped bean有一个非常奇怪的问题。使用Netbeans 6.9.1,Glassfish 3服务器和PrimeFaces 3作为JSF组件库。
这是一些代码:
package com.hia.jsf;
import com.hia.netlabel.jpa.Genre;
import com.hia.netlabel.jpa.Label;
import java.io.Serializable;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.enterprise.context.SessionScoped;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
@ManagedBean
@SessionScoped
public class LabelDetailJSF implements Serializable{
@ManagedProperty("#{genreLabelListJSF}")
private GenreLabelListJSF genreLabelListJSF;
private List<Genre> DetailLabelGenreList;
private Label DetailLabel;
/** Creates a new instance of LabelDetailJSF */
public LabelDetailJSF() {
}
@PostConstruct
public void init(){
System.out.print("Running init LabelDetailJSF");
if(genreLabelListJSF.getSelectedLabel()!=null)
{
System.out.print("genreLabelListJSF was not null");
this.DetailLabelGenreList=genreLabelListJSF.getSelectedLabel().getGenreList();
this.DetailLabel= (genreLabelListJSF.getSelectedLabel());
}
if(this.DetailLabelGenreList==null){
System.out.println("Bloody thing became null");
}
}
/**
* @return the DetailLabel
*/
public Label getDetailLabel() {
return DetailLabel;
}
因此,基本上,我已经将另一个称为GenreLabelListJSF的会话范围的bean注入LabelDetailJSF中。我想在dataTable中显示DetailLabelGenreList。这是用于显示数据表的XHTML代码段
<p:dataTable id="detailLabelGenreGrid" value="# {labelDetailJSF.detailLabelGenreList}" var="genre" paginator="true" styleClass="text70" rows="2" >
<p:column style="min-width:196px;">
#{genre.genreName}
</p:column>
</p:dataTable>
当页面加载时,我最初获得的表中包含一些行。当我单击分页按钮时,这就是乐趣的开始。
我检查了所有System.out语句的输出,并在最初加载页面时发现了以下内容。
qq_遁去的一_1
天涯尽头无女友
相关分类