primefaces を使用して JSF ページに表示したいユーザーのリストがありますp:datatable
。例外はありませんが、列のタイトルが表示されていなくても、リストにあるデータを表示できません。実際、'getUserListe()'
サービスレイヤーを呼び出してデータベースからデータを取得するメソッドを使用しています。その中で、いくつかのプロパティ (モデル クラス) の sysprint() を追加しました。URLuserDomain
にアクセスすると、データ テーブルに UserListe のデータを入力したいので、それを で呼び出しますvalue="#{userMB.userListe}"
。問題は、リストが表示されません。しかし、私のコンソールで getUserListe() が呼び出されることを意味して、ページが課金されると、プロパティが正常に出力されます。:
私のマネージドBeanの一部:
@ManagedBean(name="userMB")
@RequestScoped
public class UserManagedBean implements Serializable {
private List<UserDomain> userListe ;
public List<UserDomain> getUserListe() {
this.userListe = new ArrayList<UserDomain>();
this.userListe.addAll(getUserServicee().getAll());
for(UserDomain u : userListe)
System.out.println(u.getFirstName());
return userListe;
}
public void setUserListe(List<UserDomain> userListe) {
this.userListe = userListe;
}
私のjsf.xhtmlファイルの一部:
<h:form>
<h:outputText value="USER's rights list: "></h:outputText>
<p:dataTable id="userss" var="userr" value="#{userMB.userListe}" style="width: 10%">
<h:column>
<f:facet name="header"><h:outputText value="FirstName" /></f:facet>
<h:outputText value="#{userr.firstName}" />
</h:column>
<h:column>
<f:facet name="header"><h:outputText value="LastName" /></f:facet>
<h:outputText value="#{userr.lastName}" />
</h:column>
<h:column>
<f:facet name="header"><h:outputText value="Action" /></f:facet>
<h:commandLink value="Edit" action="#{userMB.editAction(userr)}" />
</h:column>
</p:dataTable>
<h:commandButton value="OK" action="#{userMB.userProp}" />
</h:form>
私のユーザーには、プロパティのすべてのゲッターとセッターが正しく設定されていることに注意してください。助けてくれてありがとう