Итак, видимо, я пытаюсь вернуть HTML-файл с помощью контроллера Spring.
Я уже добавил зависимости Thymeleaf, а также попробовал следующие способы его настройки:
1.
@RequestMapping ("/")
@ResponseBody
public String homeDisplay() {
return "homepage";
}
@Controller
public class HomeController {
@RequestMapping ("/")
public ModelAndView index () {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("homepage");
return modelAndView;
}
}
Во всяком случае, не помогло, я получаю страницу ошибки Whitelabel.
Страница ошибки Whitelabel Это приложение не имеет явного сопоставления для /error, поэтому вы рассматриваете это как запасной вариант. Вс 13 декабря 20:14:04 EET 2020 Произошла непредвиденная ошибка (тип=Не найдено, статус=404). Нет доступных сообщений
Как я могу исправить это и отобразить нужный мне HTML.
Вопрос - как исправить проблему и отобразить нужный мне html файл.
Добро пожаловать в СО. Постарайтесь предоставить как можно больше релевантной информации. В вашем проекте может быть много проблем. Здесь в SO нет никакой магии. :-) В этом случае покажите структуру вашего проекта. Изображение может быть.! Также покажите свой pom/gradle.
Попробуйте заменить @RequestMapping
на @GetMapping("/")
или @RequestMapping(value = "/", method = RequestMethod.GET)
Почему? потому что @RequestMapping будет отображаться на любой запрос к этому URL-адресу, поэтому вы должны указать, что это запрос GET (я полагаю, это то, что вы хотите использовать).
Поскольку вы не предоставили код внешнего интерфейса, который отправляет запрос, мы не можем сказать, есть ли там проблема. Пожалуйста, поделитесь им.
Я столкнулся с аналогичной проблемой, когда пытался отобразить домашнюю страницу для REST API, который я создавал. Однако в проекте нет Thymeleaf. Я использовал следующее, и это сработало для меня. Следующий код делает файл home.html, хранящийся в resources/static, отображаемым при запуске приложения. Это статическая страница, и на нее не отправляются никакие данные.
@Controller
public class HomeController {
@RequestMapping("/")
public String welcome() throws Exception {
return "home.html"; //note that this says .html
}
}
Для проекта, в котором я использовал Thymeleaf, у меня есть следующий код, который показывает страницу входа в систему, хранящуюся в папке ресурсов/шаблонов.
@Controller
public class LoginController {
@GetMapping("/login")
public String showLoginForm() {
return "login"; //note that this is just the name of the file with no extension
}
}
Обязательно поместите html-файл в правильную папку. Я предполагаю, что, поскольку вы используете Thymeleaf, вы, вероятно, будете использовать некоторые шаблоны.
В чем именно вопрос?