Я заполняю свой выпадающий список из БД, но после выбора я получаю нулевое значение в моем методе, присутствующее в моем коде Java, когда нажимается кнопка отправки.
Хотя, если я в коде выпадаю жесткие значения, вся функциональность работает отлично. Скажите, пожалуйста, что я делаю не так?
Java-код для передачи значения List, полученного из БД, который я передаю в мой JSP:
EventService eventService = new EventServiceImpl();
List<Event> theEvents = eventService.showEventListMethod();
// add the event list to the model
theModel.addAttribute("event", theEvents);
return "eventPostponeCancelCompletePage";
Моя форма JSP, в которой я выбираю значение из выпадающего списка:
<form action = "eventCancelCompleteMethod" modelAttribute="event" method = "post">
<table id="table" align="center">
<tr>
<td width="50%">Event Name: </td>
<td width="50%">
<select name="eventName">
<c:forEach var="tempEvent" items="${event}">
<option value="tempEvent.eventName">${tempEvent.eventName}</option>
</c:forEach>
</select>
<!-- <select name="eventName">
<option value="Birthday Party for May">Birthday party for May</option>
</select> -->
</td>
</tr>
<tr>
<td align="center" width="34%" >
<!-- <input type = "submit" value = "Postpone"/> -->
<input class="btn btn-default custom" type = "button" value = "Postpone Event" onclick="openPage('showPostponeEventPage')"/>
</td>
<td align="center" width="33%">
<input class="btn btn-default custom" type = "submit" value = "Cancel/Complete Event"/>
</td>
</tr>
</table>
</form>
Java-метод, который будет вызываться после нажатия кнопки отправки:
@PostMapping("/eventCancelCompleteMethod")
public String eventCancelCompleteMethod(@ModelAttribute("event") Event theEvent)
{
EventService eventService = new EventServiceImpl();
System.out.println("Event Name: "+theEvent.eventName);
//theEvent.setEventName("New testing event July");
theEvent.setEventState("inactive");
System.out.println("New Event Data: "+theEvent);
System.out.println("Successfully Cancelled/Completed the event");
String action = eventService.eventCancelCompleteMethod(theEvent.eventName, theEvent.eventState);
System.out.println("Action: " + action);
if(action.equalsIgnoreCase("success"))
{
System.out.println("Successfully added contributor data!!");
return "redirect:/showEventPostponeCancelComplete";
}
else
{
System.out.println("Failed to add!!");
return "redirect:/showEventPostponeCancelComplete";
}
}