Отобразить объект массива с помощью javabeans - PullRequest
1 голос
/ 28 мая 2019

Я создаю веб-приложение, поэтому я не использую какую-либо базу данных, а просто javabeans для хранения данных и страницы xhtml для ее отображения, теперь у меня есть массивы объектов, в которых каждый объект содержит данные, которые мне нужно отобразить на странице xhtml, но я не знаю как.Я знаю, что это возможно при использовании jsp с использованием jstl, но несколько дней назад я слышал, что почти никто не использует jsp в эти дни ... Поэтому я не хочу использовать его для этого проекта.

javabeans

@ManagedBean(name = "login")
@SessionScoped
public class Login implements Serializable{
    private boolean isLoged=false; 
    PortalUDB portaludb;
    Estudiante estudiante; // This is the object tha has the array list

Класс, который содержит два массива объектов

public final class Estudiante{
    private Document document;
    private int uv_carrera;
    private int uv_actuales;
    private final Connection.Response loginForm;
    public List<MateriaPensum> materia_pensum = new ArrayList<>();
    public List<MateriaExpediente> materia_expediente = new ArrayList<>();

Я уже достиг этого с помощью пользовательского интерфейса: repeat

<ui:repeat var="materia" value="#{login.estudiante.materia_expediente}"> <h1>#{materia.asignatura}</h1> </ui:repeat>

JustЯ не знаю, почему я могу использовать каждую переменную в классе MateriaExpediente, когда они являются частными.

public class MateriaExpediente extends MateriaPensum{
    int anio;
    String ciclo;
    String asignatura;
    String matricula;
    float nota;
    String resultado;

Может быть, потому что я использую методы getter и setter?

Ответы [ 2 ]

0 голосов
/ 28 мая 2019

Если вы используете Spring MVC или Spring Boot, тогда вы можете использовать Thymeleaf .Я предполагаю, что вы передаете bean-компонент Estudiante в область запроса как атрибут estudiante.Итак, чтобы перейти к списку materia_pensum в вашем html:

<p th:each="materiaPensum : ${estudiante}" th:text="${materiaPensum.name}"><p/>
0 голосов
/ 28 мая 2019

Если вы знаете Javascript/JQuery, вы можете сделать это.Просто отправьте свой список данных в виде JSON строки клиенту.На стороне клиента прочитайте данные списка из ответа, а затем заполните список с помощью цикла, повторяющего список (для этого вы можете получить данные с помощью ajax-запроса со стороны клиента).

Для этого установите родительский элемент Class / Id для той области xhtml, где вы хотите заполнить данные и использовать их в качестве ссылки.
Я знаю, что это общее решение (но оно поможет, я надеюсь), но оно поможет нам помочь больше, если вы попробуете определенным образом и расскажете нам, с чем вы столкнулись.Для дальнейшего ознакомления вы можете прочитать this

...