私は次のdataTableを持っています:
<p:dataTable var="indentifier" value="#{identifierBean.identifiers}">
<p:column>
<f:facet name="header">
<h:outputText value="#{indentifier.key}" />
</f:facet>
<h:outputText value="#{indentifier.key}" />
<p:inputText id="userValue" required="true" value="#{identifier.userValue}">
</p:inputText>
</p:column>
</p:dataTable>
およびcommandButton
<p:commandButton
value="Search" ajax="false" action="#{identifierBean.saveIdentifiers}">
</p:commandButton>
identifierBeanは次のとおりです。
public class IdentifierBean {
private List<Identifier> identifiers;
private String country;
private List<Patient> patients;
public IdentifierBean() {
identifiers = new ArrayList<Identifier>();
}
public IdentifierBean(List<Identifier> identifiers) {
this.identifiers = identifiers;
}
public List<Identifier> getIdentifiers() {
return identifiers;
}
public void saveIdentifiers(){
try {
System.out.println("-"+this.identifiers.size()+"-");
} catch (Exception ex) {
//ex.printStackTrace();
}
}
public void setIdentifiers(List<Identifier> identifiers) {
this.identifiers = identifiers;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
Vector vec = Service.getCountryIdsFromCS(this.country);
for (int i = 0; i < vec.size(); i++) {
Identifier id = new Identifier();
id.setKey(Service.getPortalTranslation(
((SearchMask) vec.get(i)).getLabel(),
LiferayUtils.getPortalLanguage()));
id.setDomain("");
this.identifiers.add(id);
}
System.out.println("-"+this.identifiers.size()+"-");
}
public List<Patient> getPatients() {
return patients;
}
public void setPatients(List<Patient> patients) {
this.patients = patients;
}
}
テーブルには1つの行があります(つまり、identifierBeanには識別子リストに1つの要素があります)が、saveIdentifiersメソッドで識別子リストを使用しようとすると空になります。何か助けはありますか?どうもありがとうございます!!!