#java #html #spring-boot #spring-mvc #thymeleaf
Вопрос:
Итак, у меня проблема, я хочу создать простой калькулятор среднего балла, который должен быть динамичным. Моя проблема в том, что я не могу понять, как использовать один атрибут для создания нескольких экземпляров объекта.
Моя цель состоит в том, чтобы каждый ввод добавлялся в мой список массивов и проходил через цикл for, чтобы вычислить среднее значение среднего балла и отобразить его на странице «/вывод».
Я был бы рад получить ответ, не смог ничего найти здесь на StackOverflow :/
PS: «примечание» означает оценку 🙂
Объект Java :
public class Grade { private double note; public Grade() { } public Grade(double note) { this.note = note; } public double getNote() { return note; } public void setNote(double note) { this.note = note; }
Контроллер :
@Controller public class GradeController { private final Logger log = LoggerFactory.getLogger(GradeController.class); @Autowired GradeService gradeService; @GetMapping public String getStartPage(Model model){ Grade grade = new Grade(); model.addAttribute("grade",grade); return "index"; } @PostMapping("/output") public String outPutPage(@ModelAttribute("grade") Grade grade, @RequestParam double note){ gradeService.notenEingabe(note); log.info("-------gt; " String.valueOf(note)); return "output"; }
мой класс обслуживания :
@Service public class GradeService { private final Logger log = LoggerFactory.getLogger(GradeService.class); ArrayListlt;Gradegt; list = new ArrayListlt;gt;(); public void notenEingabe(double grade) { list.add(new Grade(grade)); }
my Html files :
lt;form action="#" th:action="@{/output}" th:object="${grade}" method="post"gt; lt;labelgt;Mathe Grade : lt;/labelgt; lt;labelgt; lt;input type="number" th:field="*{note}"/gt; lt;/labelgt; lt;labelgt;German Gradelt;/labelgt; lt;labelgt; lt;input type="number" th:field="*{note}"/gt; lt;/labelgt;
,
lt;button type="submit"gt;Registerlt;/buttongt; lt;/formgt; lt;div align="center"gt; lt;h1gt;User Registration succeededlt;/h1gt; lt;spangt;Math Grade :lt;/spangt;lt;span th:text="*{grade.note}"gt;lt;/spangt; lt;spangt;Math Grade :lt;/spangt;lt;span th:text="*{grade.note}"gt;lt;/spangt; lt;/divgt;