Я не могу показать HTML-страницу

#spring #spring-boot

#весна #весна-загрузка

Вопрос:

Я должен разработать проект для колледжа с использованием Spring. Я начал смотреть некоторые учебные пособия, и я не могу показать HTML-страницу. Я делаю то же самое, но он возвращает только одну строку. Я использую Visual studio code.

Контроллер:

 package com.example.springteste.controllers;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class ProductController {

    @GetMapping("/formulario")
    public String formulario() 
    {
        return "form";
    }
}
  

Мое представление находится только внутри шаблонов

Вид:

 <!DOCTYPE html>
<html lang="pt-br">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>

  <main>
    <section id="sectionProduct">
        <div>
            <div id="sectionProduct-title">
                <h1>
                    Título
                </h1>
            </div>

            <div id="sectionProduct-form">
                <form action="">
                    <div class="sectionProduct-form-inputLabel">
                        <input type="text" id="title" name="title">
                        <label for="title">
                            Título
                        </label>
                    </div>
                </form>
            </div>
        </div>
    </section>
</main>

</body>
</html>
  

Я считаю, что чего-то не хватает. Я новичок в Java и spring

Ответ №1:

Если вы хотите вернуть имя представления из обработчика метода контроллера — вы должны использовать @Controller аннотацию. Также убедитесь, что вы поместили свои представления в правильный каталог в соответствии с вашей конфигурацией распознавателя представлений.

О @RestController — как следует из названия, оно должно использоваться в случае контроллеров стиля REST, т.Е. Методы обработчика должны возвращать ответ JSON / XML непосредственно клиенту, а не использовать преобразователи представления.

В вашем случае метод обработчика вернется "form" к клиенту.