Цель недостижима, «машина» вернула ноль - PullRequest
0 голосов
/ 05 декабря 2018

Я использую Primefaces для отображения ленивого списка автомобилей.Как только я хочу отфильтровать или выбрать, я получаю сообщение;Цель недостижима, «улица» возвратила ноль.

public class Car implements Serializable {

  private Map<String, Object> street;
  private UUID id;
  private String brand;
}

мой набор данных

    <p:dataTable id="cars" editable="true" editMode="cell" var="car"
            value="#{carListView.cars}"
            selection="#{carListView.selectedCar}"
            lazy="true" widgetVar="carsTable">
            <p:column headerText="Id">
                <h:outputText value="#{car.id}"/>
            </p:column>
            <p:column headerText="brand">
                <h:outputText value="#{car.brand}"/>
            </p:column>
            <p:column headerText="country" filterBy="#{car.street.city.country}">
                <h:outputText value="#{car.street.city.country}"/>
            </p:column>

    </p:datatable>

мой взгляд:

public class CarListView implements Serializable {

  @Inject
  LazyCarModel cars
  private Car car;
  private Car selectedCar;

  @Postconstruct
  public void init(){
    Car = new Car();
    selectedCar = new Car();

  }
}

и мой груз:

    @Override
    public List<Car> load(int first, int pageSize, String sortField,SortOrder sortOrder,Map<String, Object> filters) {

        myList = carService.getCars();
        return myList

    }

Может кто-нибудь выяснить, что не так с этим кодом?

1 Ответ

0 голосов
/ 05 декабря 2018

Вы должны создать правильные методы получения / установки в вашем классе Car.

Кроме того, это #{car.street.city.country} не будет разрешено правильно, потому что street - это Map в классе Car.

Создайте класс Street, который встраивает правильную модель данных, которую вы хотите.Затем используйте его в типе атрибута street в классе Car.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...