Как перебирать List и отображать каждый элемент в Facelets JSF

Мне интересно, как отобразить List как показано ниже в Facelet:

 public List searchByString(String string) { return getEntityManager().createNamedQuery("Userdetails.findByUsername").setParameter("username", "%" + string + "%").getResultList(); } 

Будет ли подходящий способ ?

Вам нужно будет перебирать его. JSF 2 предлагает три итерационных компонента из коробки. Если объект User выглядит ниже,

 @Entity public class User { private @Id Long id; private String username; private String email; private LocalDate birthdate; // Add/generate getters+setters. } 

и что результаты поиска назначаются как свойство List users компонента, доступное как #{bean} ,

 @Named @RequestScoped public class Bean { private List users; // Add/generate postconstruct+getter. } 

вот несколько примеров, основанных на этом:

  1. , компонент пользовательского интерфейса, который генерирует HTML

    .

      #{user.id} #{user.username} #{user.email} #{user.birthdate}  
  2. , компонент пользовательского интерфейса, который не генерирует HTML-разметки (поэтому вам нужно будет написать весь этот HTML по желанию, который можно легко изменить, например,

    или

    , или

    и т. д.):

      
    #{user.id} #{user.username} #{user.email} #{user.birthdate}
  3. , обработчик тега, который запускается во время времени сборки, вместо просмотра времени визуализации (пояснение здесь: JSTL в JSF2 Facelets … имеет смысл? ), он также не создает никакой разметки HTML:

      
    #{user.id} #{user.username} #{user.email} #{user.birthdate}

Смотрите также:

  • Учебник Java EE 6 – Добавление компонентов на страницу – с помощью
  • Как и когда я должен загрузить модель из базы данных для h: dataTable

Вы можете сохранить свой список в переменной classа, дать ему getter и (возможно) сеттер. searchByString метод searchByString как void и назовите его, предположим, что (если вы используете PrimeFaces):

  

myBean:

 public void searchByString(String string) { userList = getEntityManager().createNamedQuery("Userdetails.findByUsername").setParameter("username", "%" + string + "%").getResultList(); } 

если ваша таблица находится в форме, которую вы только что обновили, вы можете отобразить в ней List .

       
  • Как заставить Java-метод возвращать общий список любого типа?
  • Linq выбирает объекты в списке, где существует IN (A, B, C)
  • Почему у вас нет «List <List >» в Java?
  • Самый быстрый способ удалить повторяющееся значение из списка лямбдой
  • Модификатор static разрешен только в объявлениях с постоянной переменной
  • Java PriorityQueue с фиксированным размером
  • Проверьте, содержит ли строка элемент из списка (строк)
  • Как преобразовать карту в список на Java?
  • Список безопасность streamов
  • C #: Как добавить подтипы в ListView
  • Как отсортировать список адресов Ip с помощью c #
  • Давайте будем гением компьютера.