Итак, вот краткое изложение того, что мне нужно сделать.
Загрузите файл Excel, в каждой строке которого содержится информация о приложении человека. Получите информацию из файла в виде списка, затем перенаправьте страницу, чтобы отобразить этот список в таблице, чтобы пользователь мог проверить информацию, которую они заполнили в файле Excel. Проверяйте каждое поле в каждой строке при нажатии кнопки «Сохранить».
В основном это массовое сохранение с использованием файла Excel.
Работа с Excel завершена. У меня нет проблем со списком.
Я сделал список из загруженного файла Excel. Пока это просто, но мне нужно показать каждое поле в качестве ввода (текстовое поле) в списке и проверить модель в каждой строке.
Каждая строка этой таблицы представляет модель в моем списке и Мне нужно проверить каждую модель в моем списке.
Как я могу сделать это с помощью jsp? Возможно ли это?
Я не могу скопировать сюда код, поэтому вот простая версия psudo-i sh.
Моя проблема с этим, что на следующей странице Я получаю только одну строку из списка, когда в нем было 3 элемента, и она тоже не проверяется.
Я добавил список в модель, потому что он не позволял мне использовать «атрибут модели» в форме в противном случае. Мне нужно использовать путь для проверки. Это было единственное, что я мог сделать.
Мне нужна помощь, спасибо!
//ApplicationModel
+name
+surname
+email
//ApplicationModelListModel
+List<ApplicationModel> list;
Controller
public excelMethod{
// get excel file and get every row as a list item
List<ApplicationModel> applicationList;
ApplicationModelListModel applicationListModel = new ApplicationModelListModel();
applicationModelListModel.setList(applicationList);
redirectAttributes.addFlashAttribute("applicationListModel", applicationListModel );
return "redirect:/nextPageWithTable";
}
**RequestMappnig(value= /nextPageWithTable, method= GET)
public String applicationListConfirmPage(Model model,
@ModelAttribute("applicationListModel") ApplicationModelListModel applicationListModel){
model.addAttribute("applicationListModel",applicationListModel);
return "pages/nextPageWithTable.jsp";
}
**RequestMappnig(value= /nextPageWithTable, method= POST)
public String applicationListConfirmPage(Model model,
@ModelAttribute("applicationListModel") @Validated ApplicationModelListModel applicationListModel,
BindingResult result){
if(result.hasErrors()){
}else{
//send list to another web service
}
return "pages/success.jsp";
}
////// JSP ///////////////////////////////////////////////// ///////////
<form:form action="/nextPageWithTable" modelAttribute="applicationListModel" method="POST">
<table>
<thead>
<td>name</td>
<td>surname</td>
<td>email</td>
</thead>
<tbody>
<c:forEach items="applicationListModel.list" var="variable" varStatus="status">
<tr>
<!-- name -->
<td>
<spring:bind path="list[${status.index}]">
<form:input id="name${status.index}" path="list[${status.index}].name"
name="name${status.index}"/>
<form:errors path="list[${status.index}].name" />
</spring:bind>
</td>
<!-- same for surname-->
<td></td>
<!-- same for email-->
<td></td>
</tr>
</c:forEach>
</tbody>
</table>
<button type="submit">Commit</button>
</form:form>