PrimeFaces データ テーブルにデータを入力しようとしています。
<p:dataTable var = "milestoneIndentifier" id="milestoneTable" value = "#{milestoneIdentifierManager.milestoneIdentifiers}" paginator="true" >
<p:column sortBy="name" headerText = "Milestone">
<h:outputText value ="#{milestoneIndentifier.name}" />
</p:column>
<p:column sortBy="acroynm" headerText = "Acroynm">
<h:outputText value ="#{milestoneIndentifier.acronym}" />
</p:column>
<p:column sortBy="phaseName" headerText = "Phase Name">
<h:outputText value ="#{milestoneIndentifier.phaseName}" />
</p:column>
<p:column headerText = "Action">
</p:column>
</p:dataTable>
私はこのバッキングビーンを使用しています:
//@ManagedBean
//@ViewScoped
@Named
@ViewAccessScoped
public class MilestoneIdentifierManager extends PageBean {
private static final long serialVersionUID = 1L;
private List<MilestoneIdentifier> milestoneIdentifiers;
@Inject
private MilestoneIdentifierBusinessBean milestoneIdentifierBusiness;
public MilestoneIdentifierManager() {
}
/**
* @param name
* @param acronym
* @param phaseName
*/
public void addMilestoneIdentifier(String name, String acronym, String phaseName) {
try {
milestoneIdentifierBusiness.addMilestoneIdentifier(name, acronym, phaseName);
} catch (AllValidationException e) {
// TODO Auto-generated catch block
}
}
public List<MilestoneIdentifier> getMilestoneIdentifiers() {
return milestoneIdentifiers;
}
@PostConstruct
public void init() {
milestoneIdentifiers = new ArrayList<MilestoneIdentifier>();
milestoneIdentifiers.add(new MilestoneIdentifier("Milestone A", "MSA", "Milestone A1"));
}
}
これを実行しようとすると、テーブルにレコードが見つからないと表示されます。私がコメントアウトした場合:
@Named
@ViewAccessScoped
そしてコメントを外します:
@ManagedBean
@ViewScoped
init
次に、メソッドで作成したマイルストーンがテーブルに表示されます。
編集:beans.xml
WEB-INF フォルダーにファイルがあります。
コードのインポートは次のとおりです。
import java.util.ArrayList;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.enterprise.context.SessionScoped;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.inject.Inject;
import javax.inject.Named;
import org.apache.myfaces.extensions.cdi.core.api.scope.conversation.ViewAccessScoped;
これらのいくつかは使用されておらず、コードをクリーンアップしていません。