Сгенерировать h: panelGrid из списка Java [duplicate]

Вы пытались решить проблему с клейкой лентой?

Попробуйте определить, когда возникают ошибки, и исправьте их короткими операторами if, это не очень, но для некоторых проблем это единственное решение, и это один из них .

 if( (n * 0.1) < 100.0 ) { return n * 0.1 - 0.000000000000001 ;}
                    else { return n * 0.1 + 0.000000000000001 ;}    

У меня была такая же проблема в проекте научной симуляции в c #, и я могу сказать вам, что если вы проигнорируете эффект бабочки, он превратится в большого толстого дракона и укусит вас в a **

2
задан BalusC 4 March 2016 в 13:01
поделиться

2 ответа

Вам нужно будет перебирать его. 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<User> users компонента, доступного как #{bean},

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

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

  1. <h:dataTable> , компонент пользовательского интерфейса, который генерирует HTML <table>.
    <h:dataTable value="#{bean.users}" var="user">
        <h:column>#{user.id}</h:column>
        <h:column>#{user.username}</h:column>
        <h:column><a href="mailto:#{user.email}">#{user.email}</a></h:column>
        <h:column>#{user.birthdate}</h:column>
    </h:dataTable>
    
  2. <ui:repeat> , компонент пользовательского интерфейса, который не генерирует HTML-разметки (так что вам нужно будет написать весь этот HTML по желанию самостоятельно, что может легко следует изменить, например, на <ul><li> или <dl><dt><dd> или <div><span> и т. д.):
    <table>
        <ui:repeat value="#{bean.users}" var="user">
            <tr>
                <td>#{user.id}</td>
                <td>#{user.username}</td>
                <td><a href="mailto:#{user.email}">#{user.email}</a></td>
                <td>#{user.birthdate}</td>
            </td>
        </ui:repeat>
    </table>
    
  3. <c:forEach> , обработчик тега, который запускается во время сборки вида (пояснение здесь: JSTL в JSF2 Facelets ... имеет смысл? ), он также не производит разметки HTML:
    <table>
        <c:forEach items="#{bean.users}" var="user">
            <tr>
                <td>#{user.id}</td>
                <td>#{user.username}</td>
                <td><a href="mailto:#{user.email}">#{user.email}</a></td>
                <td>#{user.birthdate}</td>
            </td>
        </c:forEach>
    </table>
    

См. также:

10
ответ дан BalusC 1 September 2018 в 10:05
поделиться

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

<p:commandLink update="@form" process="@this" action="#{myBean.searchByString}"> 

myBean:

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

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

 <p:dataTable var="user" value="#{myBean.userList}">  
    <p:column headerText="Name">  
        <h:outputText value="#{user.name}" />  
    </p:column>  
 </p:dataTable>  
1
ответ дан Kuba 1 September 2018 в 10:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: