Spring boot return 404, учитывая, что отладчик достигает точки останова, которую я установил в контроллере.Как я могу это исправить? - PullRequest
0 голосов
/ 18 декабря 2018

Я использовал IntelliJ для создания веб-приложения с загрузкой Spring, которая запускается на Tomcat с использованием Mustache и Gradle.

Мои TestController.java и TestApplication.java находятся в одном пакете (com.example.test).

Вот TestApplicaiton.java

@SpringBootApplication
public class TestApplication {

    public static void main(String[] args) {
        SpringApplication.run(TestApplication.class, args);
    }

}

Вот TestController:

@Controller
public class TestController {
    @GetMapping(value = "/")
    public ModelAndView index(@RequestParam(name="name", required=false, defaultValue="World") String name, Model model) {
        return new ModelAndView("index");
    }
}

Я поставил index.html под /resources/static и /resources/templates,Тем не менее, на странице написано

404 не найдено (Страница ошибки Whitelabel).

Если я изменю аннотацию @controller на @RestController и изменим тип возвращаемого значения на String,он возвращает строку правильно.

Итак, похоже, что что-то пошло не так при разрешении представления.Однако это не исключение.Я заметил, что представление mvContainer является нулевым, когда я вошел в код.

Может кто-нибудь помочь?

Ответы [ 2 ]

0 голосов
/ 18 декабря 2018

Для себя я наконец-то узнал, что мне следует переименовать расширение файла в .mustache вместо использования .html.Это будет работать с готовой конфигурацией.Вот пример кода, который я нашел в Интернете: https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples/spring-boot-sample-web-mustache

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

0 голосов
/ 18 декабря 2018

Я думаю, вам нужно настроить ViewResolver для разрешения просмотра по имени.Вот руководство: https://www.baeldung.com/spring-mvc-view-resolver-tutorial

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