Эпроблема с тимьяном - PullRequest
       11

Эпроблема с тимьяном

0 голосов
/ 19 апреля 2019

Я пытаюсь запустить простое веб-приложение, используя Spring-Boot, Thymeleaf и Hibernate. Hibernate работает хорошо: список сессий не пуст.

Thymeleaf не показывает мой взгляд. Я новичок и не могу решить эту проблему, пожалуйста, помогите.

@Controller
public class IndexController {

    @Autowired
    FormSessionRepository formSessionRepository;

    @RequestMapping("/")
    public ModelAndView index() {
        ModelAndView index = new ModelAndView("index");
        List<FormSession> sessions = formSessionRepository.findAll();
        index.addObject("sessions", sessions);
        return index;

    }

}

<!DOCTYPE HTML>
<html th="http://thymeleaf.org" xmlns:th="http://java.sun.com/xml/ns/persistence/orm">
<header><title>Home Page</title></header>
<link href="button.css" rel="stylesheet">
<body>
<div class="wrapper">
    <a href="#" class="button"/>GET RESPONSE</a>
    <a href="#" class="button"/>GET RESPONSE</a>
    <a href="#" class="button"/>GET RESPONSE</a>
</div>
<table>
    <tr th:each="session : ${sessions}">
        <td th:text="${session.getId}">1</td>
    </tr>
</table>

</body>
</html>

Ошибка stackTrace:

There was an unexpected error (type=Internal Server Error, status=500).
An error happened during template parsing (template: "class path resource [templates/index.html]")
org.thymeleaf.exceptions.TemplateInputException: An error happened during template parsing (template: "class path resource [templates/index.html]")
    at org.thymeleaf.templateparser.markup.AbstractMarkupTemplateParser.parse(AbstractMarkupTemplateParser.java:241)
    at org.thymeleaf.templateparser.markup.AbstractMarkupTemplateParser.parseStandalone(AbstractMarkupTemplateParser.java:100)
    at org.thymeleaf.engine.TemplateManager.parseAndProcess(TemplateManager.java:666)
    at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1098)
    at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1072)
    at org.thymeleaf.spring5.view.ThymeleafView.renderFragment(ThymeleafView.java:362)
    at org.thymeleaf.spring5.view.ThymeleafView.render(ThymeleafView.java:189)
    at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1370)
    at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1116)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1055)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005)
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:897)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:634)

Ответы [ 2 ]

0 голосов
/ 20 апреля 2019

Я нашел решение!Это было довольно легко.«сессия» - зарезервированное слово, и когда я изменил свой код на это, оно работает хорошо.

<table>
    <tr th:each="formsession : ${sessions}">
        <td th:text="${formsession.id}">1</td>
    </tr>
</table>
0 голосов
/ 19 апреля 2019

Попробуйте изменить свой код в контроллере на:

@RequestMapping("/")
public ModelAndView index(Model model) {
    ModelAndView index = new ModelAndView("index");
    List<FormSession> sessions = formSessionRepository.findAll();
    model.addAttribute("sessions", sessions);
    return index;
}

и пока вы используете Thymeleaf, его, вероятно, будет достаточно:

@RequestMapping("/")
public String index(Model model) {
    List<FormSession> sessions = formSessionRepository.findAll();
    model.addAttribute("sessions", sessions);
    return "index";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...