Весна связывает проблемы JSP

1

Я получаю 500 всегда, когда метод контроллера показан ниже.

@RequestMapping(value ="transferInvoiceHdrForm", method = RequestMethod.GET)
protected ModelAndView showForm(@ModelAttribute("transferInvoice") TransferInvoiceForm trinvoiceform, final HttpServletRequest request, final HttpServletResponse response, Model model)throws Exception {
        TransferInvoiceHdr transferInvoiceHdr = new TransferInvoiceHdr();
        List<TransferInvoice> transferinvoice= transferInvoiceHdrService.getAssetCategoriesandTransfer();
        List<Employees> employees = transferInvoiceHdrService.getAssignEmployee();
        trinvoiceform.setTrinvoiceList(transferinvoice);
        log.info("++++"+trinvoiceform.getTrinvoiceList());
        model.addAttribute("employees", employees.get(0).getFullname());
    //  model.addAttribute("transferinvoice", transferinvoice);
        model.addAttribute("transferInvoiceHdr", transferInvoiceHdr);
        //model.addAttribute("transferInvoice", transferinvoice);

    return new ModelAndView("asset/transferInvoiceHdrForm", model.asMap());
}

Мой Pojo со списком объектов выглядит так:

public class TransferInvoiceForm {
private List<TransferInvoice> TrinvoiceList;
//getters and setters

в моем JSP я использую переменную пути, как показано ниже

<form:form method="post" action="/asset/invoice/searchctr" modelAttribute="transferInvoice">
             <fieldset>
              <c:forEach var="transferinvoiceType" items="${transferInvoice.TrinvoiceList}" varStatus="status">
                     <form:select path="TrinvoiceList[${status.index}].assetName" class="col-xs-12 col-lg-5 form-group">
                            <form:option value="0" selected="true">All</form:option>
                            <form:options value="${transferinvoiceType.assetName}"></form:options>
                    </form:select>
                    </c:forEach>
                     <c:forEach var="transferinvoiceType" items="${transferInvoice.TrinvoiceList}" varStatus="status">
                    <form:select path="TrinvoiceList[${status.index}].assettoLocation" class="col-xs-12 col-lg-5 form-group">
                             <form:option value="0" selected="true">All</form:option>
                            <form:options value="${transferinvoiceType.assettoLocation}"></form:options>
                        </form:select>
                     </c:forEach>

                    <button class="btn btn-primary" type="submit" class="col-xs-12 col-lg-6 form-group">
                        <fmt:message key="button.search" />
                    </button>
            </fieldset> 
        </form:form>

Еще один полезный компонент java

 public class TransferInvoice {
    private String assetName;
    private String assettoLocation;
    private String actualTransferDate;
    private String scanserialCode;
    private String modelNum;
    private boolean check;
    //getters and setters 

Любая помощь, почему я получал 500. Я тщательно проверил и подтвердил, что проблема выходит из моей привязки jsp. Любая помощь будет оценена по достоинству.

благодаря

  • 0
    Тем не менее я сталкиваюсь с этой проблемой, может ли кто-нибудь иметь свежий взгляд?
Теги:
jsp
spring
spring-mvc

2 ответа

1

Вы можете использовать следующий процесс для восстановления после этой ситуации. Всякий раз, когда вы используете тег формы JSTL, поэтому на странице jsp вы можете использовать:

<form:form commandName="viewModel" method="POST">

В части контроллера вы можете напрямую использовать свою модель TransferInvoice, чтобы получить все данные со страницы jsp. И если необходимо сохранить данные в TransferInvoiceForm pojo, тогда вы можете управлять им под контроллером. Таким образом, вы можете выполнить следующий код:

@RequestMapping(value ="yourValue", method = RequestMethod.POST)
protected ModelAndView showForm(@ModelAttribute("viewModel") TransferInvoice transferInvoice, final HttpServletRequest request, final HttpServletResponse response, Model model)throws Exception {
   //use every thing for transferInvoice
}

method = RequestMethod.POST использования method = RequestMethod.POST

0

попробуйте заменить path="TrinvoiceList[ с помощью path="transferinvoiceType[ и вы должны быть хорошими, я верю. Проблема здесь в том, что вы можете получить доступ к элементу arraylist, который вы повторяете, используя значение, установленное для атрибута var в c: foreach, и когда вы смотрите на свой код, вы видите, что пытаетесь напрямую получить доступ к атрибуту объекта.

  • 0
    Пожалуйста, добавьте больше информации (почему это правильно и что-то другое и т. Д.) Ответы более низкого качества быстро удаляются. от сообщества!
  • 0
    По-прежнему получаю те же 500 ошибок. Я следовал этому решению здесь viralpatel.net/blogs/spring-mvc-multi-row-submit-java-list

Ещё вопросы

Сообщество Overcoder
Наверх
Меню