Так что я пытаюсь следовать этому руководству о том, как служить HTML-файлы с Spring: http://spring.io/guides/gs/serving-web-content/Spring не служит HTML файла
У меня есть точно такая же структура папок с точно такими же файлами, но при запуске сервера пружинных загрузочного , мой localhost:8080/greeting
будет показывать только строку greeting
, которая возвращается с GreetingController
, и все, если я смотрю на исходный код страницы, в нем нет html.
Я не мог найти ответы на подобные вопросы, потому что все аналогичные ответы по-прежнему используют Spring с именем .xml, где вы объявляете представления в XML-файле. Но в этом руководстве явно говорится, что не нужно использовать .xml. Он должен просто так работать.
Mapping:
@RestController
public class GreetingController {
@RequestMapping("/greeting")
public String greeting(@RequestParam(value="name", required = false, defaultValue="World") String name, Model model) {
model.addAttribute("name", name);
return "greeting";
}
}
Использование @Controller бросает ошибку:
2015-02-25 14:50:14.830 ERROR 2378 --- [nio-8080-exec-7] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Circular view path [greeting]: would dispatch back to the current handler URL [/greeting] again. Check your ViewResolver setup! (Hint: This may be the result of an unspecified view, due to default view name generation.)] with root cause
javax.servlet.ServletException: Circular view path [greeting]: would dispatch back to the current handler URL [/greeting] again. Check your ViewResolver setup! (Hint: This may be the result of an unspecified view, due to default view name generation.)
EDIT:
Решение: а) Используйте @Controller
вместо @RestController
б) При запуске приложения в IntelliJ, убедитесь, что вы создали задачу Gradle, которая запускается до выполнения класса Main.
внимательно прочитайте, вы найдете ответ. – vvp
контроллер возвращает вид, и это показано вам как html-файл. – vvp
Опубликуйте свое сопоставление в контроллере. Это похоже на статью? '@RequestMapping ("/greeting ") public String greeting (@RequestParam (значение =" name ", required = false, defaultValue =" World ") Имя строки, модель модели) { model.addAttribute (" name ", name); возвращение «приветствие»; } ' –