Произошла ошибка при разборе шаблона (template: "ресурс пути к классу [templates / addWunsch.html]") - PullRequest
2 голосов
/ 12 января 2020

Я пытаюсь открыть страницу html addWunsch. html, но всегда получаю сообщение об ошибке. Я искал ошибки форматирования и имен, но не смог их найти.

Теперь, когда я пытаюсь получить доступ к localhost / addWunsch, я получаю ошибку

Исключение: org.springframework.web. util.NestedServletException: обработка запроса не удалась; вложенное исключение: org.thymeleaf.exceptions.TemplateInputException: во время синтаксического анализа произошла ошибка (template: "ресурс пути к классу [templates / addWunsch.html]")

Состояние: 500

здесь мой addWunsch. html:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Wunsch hinzufügen</title>
<link rel="stylesheet" type="text/css" th:href="@{styles.css}"/>
</head>
<body>
    <h1>Teile uns deinen Vorschlag mit:</h1>
    <form th:action="@{/addWunsch}" th:object="${PizzaWunschForm}" method="POST">
        Pizzaname:
        <input type="text" th:field="*{pizzaWunschName}" />
        <br/>
        Pizzabeschreibung:
        <input type="text" th:field="*{pizzaWunschBeschreibung}" />
        <br/>
        <input type="submit" value="Create" />
    </form>
    <br/>
    <!-- Check if errorMessage is not null and not empty -->
    <div th:if="${errorMessage}" th:utext="${errorMessage}" style="color:red;font-style:italic;"></div>
</body>
</html>

А вот мой контроллер:

package de.frauas.projekt.controller;

import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import de.frauas.projekt.form.PizzaWunschForm;
import de.frauas.projekt.model.PizzaWunsch;

@Controller
public class WunschController {

    private static List<PizzaWunsch> pizzaWunschListe = new ArrayList<PizzaWunsch>();
    @Value("${welcome.message}")
    private String message;
    @Value("${error.message}")
    private String errorMessage;

    @RequestMapping(value = { "/wunsch" }, method = RequestMethod.GET)
    public String showWunschIndex(Model model) {
        model.addAttribute("message", message);
        return "wunschIndex";
    }

    @RequestMapping(value = { "/listWunsch" }, method = RequestMethod.GET)
    public String showListWunsch(Model model) {
        model.addAttribute("pizzaWunschListe", pizzaWunschListe);
        return "listWunsch";
    }

    @RequestMapping(value = { "/addWunsch" }, method = RequestMethod.GET)
    public String showAddWunsch(Model model) {
        PizzaWunschForm pizzaWunschForm = new PizzaWunschForm();
        model.addAttribute("pizzaWunschForm", pizzaWunschForm);
        return "addWunsch";
    }

    @RequestMapping(value = { "/addWunsch" }, method = RequestMethod.POST)
    public String saveWunschPizza(Model model, @ModelAttribute("PizzaWunschForm") PizzaWunschForm pizzaWunschForm) {
        String pizzaWunschName = pizzaWunschForm.getPizzaWunschName();
        String pizzaWunschBeschreibung = pizzaWunschForm.getPizzaWunschBeschreibung();
        if (pizzaWunschName != null && pizzaWunschName.length() > 0 && pizzaWunschBeschreibung != null
                && pizzaWunschBeschreibung.length() > 0) {
            PizzaWunsch newPizzaWunsch = new PizzaWunsch(pizzaWunschName, pizzaWunschBeschreibung);
            pizzaWunschListe.add(newPizzaWunsch);
            return "redirect:/listWunsch";
        }
        model.addAttribute("errorMessage", errorMessage);
        return "addWunsch";
    }
}

1 Ответ

1 голос
/ 12 января 2020

Пожалуйста, измените

<form th:action="@{/addWunsch}" th:object="${PizzaWunschForm}" method="POST">

на

<form th:action="@{/addWunsch}" th:object="${pizzaWunschForm}" method="POST">

..., поскольку вы добавили в свой Model атрибут, обозначенный ключом lowerCamelCase. Это чувствительно к регистру.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...