Dynami c стол в JSP и пружина MVC - PullRequest
0 голосов
/ 05 апреля 2020

Я пишу приложение, используя Spring MVC и Hibernate. На одной из моих страниц приложения страница JSP состоит из динамически генерируемых таблиц, основанных на критериях, указанных конечным пользователем. Например, конечный пользователь вводит «количество сотрудников» на странице, и после нажатия кнопки «Отправить» на следующей странице отображаются все компании, в которых количество сотрудников равно или превышает значение, введенное конечным пользователем. Для каждой компании создается отдельная / индивидуальная таблица, заголовок таблицы показывает название компании из базы данных (эта часть работает полностью нормально). Теперь в таблице для самой компании я хочу отобразить данные только для этой компании, а также в каждом заголовке таблицы будет отображаться название компании и данные только для этой компании. Любые идеи о том, как я могу отобразить данные для компании в таблице. Ниже мой код

Контроллер



                    Int numberOfemployees // This value is entered by the end user    
                    List<Company> companies = companyService.listAllCompany(numberOfEmployees );   


                    ModelAndView companiesResults = new ModelAndView("companies-result");
                    CompanyForm companyForm  = new CompanyForm();

                    companyForm.setCompanies(companies);
                    companiesResults.addObject("company", companies);

                    for (Company company : companies) {

                        int company_id  = company.getCompany_id(); //Get id of the company to get its attributes/data from database

                    List<CompanyAttribute> companyAttributes =companyService.listCompanyAttributes(company_id);


                    }


                    companyForm.setCompanyAttributes(companyAttributes);

                    companiesResult.addObject("companyForm", companyForm);                  
                    companiesResult.addObject("companyAttributte", companyAttributes);              

                        } 

Ниже мой JSP

<c:forEach items="${companyForm.companies}" var="company" varStatus="status">

              <h6>${company.company_name}</h6>              
              <div class="table-responsive">            
                <table>


                  <thead>

                    <tr>                     
                      <th>Company portfolio</th>
                      <th>Company points</th>                                                                       
                    </tr>
                  </thead>

              <tbody>                 
                   <c:forEach items="${companyForm.companyAttributes}" var="companyAttribute"  varStatus="status">                              
                        <tr>
                            <td>${companyAttribute.portfolio}</td>
                            <td>${companyAttribute.points}</td> 

                        </tr>                                                                                                                                           
                    </c:forEach>                                           
                  </tbody>                                                    
                </table>

    </c:forEach>

Буду признателен за любые идеи о том, как я могу отображать данные для каждой компании в его стол. Мой подход показывает мне пустую таблицу для каждой компании. Должен ли я использовать какой-нибудь scripplet на JSP странице или есть какой-то другой подход. Я новичок в JSP и Spring MVC, любые идеи будут оценены.

1 Ответ

0 голосов
/ 06 апреля 2020

У меня была похожая проблема несколько лет go, и я решил ее следующим образом:

// In my controller
mav.addObject("order", order);

// In my jsp
<c:forEach items="${order.articles}" var="article">
...
</c:forEach>

Это не работа. Но потом я попробовал это

// In my controller
mav.addObject("articles", order.getOrderArticles());

// In my jsp
<c:forEach items="${articles}" var="article">

, оно работает как положено. Как вы можете видеть, я добавил список статей в качестве другого объекта в моей модели. И тогда можно перебрать этот объект в jsp.

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