Spring Boot Thymeleaf: Привязка формы к объекту, некоторые поля пусты? - PullRequest
0 голосов
/ 25 апреля 2018

Таким образом, я привязываю форму к объекту для отправки в контроллер пружины, «selectedAdvertisementsIds», установленный со скрытым тегом $ {advertising.id}, заканчивается пустыми строками, правильным количеством строк, но пустыми строками . Тег

для advertising.description правильно печатается на странице, поэтому содержимое в модели правильно.

public class EditScheduleForm {
private String[] chosenAdvertisementsIds;
private String[] chosenAdvertisementsTime;//parralel arrays
private String dates;
//getters setters
}

Мой HTML,

<form th:action="@{|/web/editSchedule/${schedule.id}|}" 
th:object="${EditScheduleForm}" method="post">
<h1>Advertisement Items</h1>
<div  th:each="advertisement : ${chosenAdvertisements}">
<p th:text="${advertisement.description}"></p>
<input  type="hidden" th:value="${advertisement.id}" th:field="*{chosenAdvertisementsIds}"/>
<p>Type below what times you want this advertisement to play at(type it like this 10:15/11:15/14:15 )</p>
<input name="text" th:field="*{chosenAdvertisementsTime}" type="text"/>

Мой метод управления

    @RequestMapping(value="/web/editSchedule/{scheduleId}",method = RequestMethod.POST)
public String editScheduleFormPost(Model model,
                                   @ModelAttribute EditScheduleForm editScheduleForm,
                                   @PathVariable Long scheduleId,
                                   RedirectAttributes redirectAttributes) {

Реклама

@Entity
public class Advertisement {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@ManyToOne
@JoinColumn(name = "usergroup_id")
private UserGroup userGroup;


private String description;


@Basic
@Temporal(TemporalType.DATE)
private java.util.Date dateAdded;
//getters setters
}



How I populate the model that the html page is on  

@RequestMapping(value="/web/editschedule/{scheduleId}",method = RequestMethod.GET)
public String editOneSchedule(@PathVariable Long scheduleId,
                              Model model) {
    //  Get the schedult given by Id
  Schedule schedule = scheduleService.findOne(scheduleId);
  model.addAttribute("schedule",schedule);
  ArrayList<Music> chosenMusics = new ArrayList<>();
  for(int i=0;i<schedule.getMusicScheduleItems().size();i++){
chosenMusics.add(schedule.getMusicScheduleItems().get(i).getMusic());
 }
 model.addAttribute("chosenMusics",chosenMusics);
  ArrayList<Advertisement> chosenAdvertisements = new ArrayList<>();
    for(int i=0;i<schedule.getAdvertisementScheduleItems().size();i++){
        chosenAdvertisements.add(schedule.getAdvertisementScheduleItems().get(i).getAdvertisement());
    }
    model.addAttribute("chosenAdvertisements",chosenAdvertisements);
    model.addAttribute("EditScheduleForm", new EditScheduleForm());
    return "editschedule";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...