0

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;

これらのいくつかは使用されておらず、コードをクリーンアップしていません。

4

0 に答える 0