Я хочу загрузить буксировочные элементы selectOneMenu, но только с одним выбором из базы данных.Загрузите перфорирование буксировки динамический selectOneMenu с @OneToMany отношение
Класс Страна:
@Entity
@Table(name = "COUNTRY")
public class Country implements Serializable{
private static final long serialVersionUID = -2160543740997716714L;
@Id
@Column(name = "ID_COUNTRY")
private Long idTCountry;
@Column(name = "LIBELLE_COUNTRY")
private String libelleCountry;
@OneToMany(mappedBy="country")
private List<City> Cities;
Class Город
@Entity
@Table(name = "CITY")
public class City implements Serializable{
private static final long serialVersionUID = -1617401771255693322L;
@Id
@Column(name = "ID_CITY")
private Long idCity;
@ManyToOne
@JoinColumn(name="COUNTRY")
private Country country;
@Column(name = "LIBELLE")
private String libelle;
Что делать в XHTML, чтобы загрузить эти буксировочный selectOneMenu динамически?
Я сделал это, но это didin't работы:
<p:outputLabel for="country" value="Country: " />
<p:selectOneMenu id="country" value="#{countryView.selectedCountry}" style="width:150px">
<p:ajax listener="#{countryView.onTypeChange}" update="city" />
<f:selectItems value="#{countryView.countries}" itemLabel="#{selectedType.libelleCountry}" var="selectedCountry" />
</p:selectOneMenu>
<p:outputLabel for="city" value="City: " />
<p:selectOneMenu id="city" value="#{countryView.selectedCity}" style="width:150px">
<f:selectItems value="#{countryView.selectedCountry.cities}" itemLabel="#{selectedCity.libelle}" var="selectedCity" itemValue="#{selectedCity}"/>
</p:selectOneMenu>
Может ли один помочь мне сделать это, пожалуйста?
В java все объекты загружены правильно, а в xhtml список загружен (selectOneMenu) стран, но список городов всегда пуст. Я думаю, что я должен изменить свойства selectOneMenu города в XHTML, но я не знаю, как это сделать. – GITOS
для части Primefaces просто возьмите код из витрины Primefaces (если вы еще не сделали этого): http://www.primefaces.org/showcase/ui/ajax/dropdown.xhtml. Для части JPA, вы уверены, что города инициализированы (по умолчанию коллекции собираются с леними, по крайней мере, с гибернацией) –
, чтобы помочь вам, нам нужен ваш код бэкбона (countryView) –