2015-08-06 2 views
3

Я пишу свой первый springboot веб-приложение со структурой проекта, как показано ниже:файлы шаблонов Springboot не загружены

---src/main/java 
      +com.example.myproject 
           +--Application.java 
      +com.example.myproject.domain 
           +--Person.java 
      +com.example.myproject.web 
           +--GreetingController.java 
---src/main/resources 
      +static 
       +--css 
       +--js 
      +templates 
       +--greeting.html 

Aplication.java

package com.example.myproject; 
import org.springframework.boot.SpringApplication; 
import org.springframework.boot.autoconfigure.SpringBootApplication; 

@SpringBootApplication 
public class Application { 
    public static void main(String[] args) { 
     SpringApplication app = new SpringApplication(Application.class); 
     app.setShowBanner(false); 
     app.run(args); 
    } 
} 

GreetingController.java

package com.example.myproject.web; 

import org.springframework.ui.Model; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestParam; 
import org.springframework.web.bind.annotation.RestController; 


@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"; 
    } 
} 

greeting.html

<!DOCTYPE HTML> 
 
<html xmlns:th="http://www.thymeleaf.org"> 
 
<head> 
 
    <title>Getting Started: Serving Web Content</title> 
 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
 
</head> 
 
<body> 
 
    <p th:text="'Hello, ' + ${name} + '!'" /> 
 
</body> 
 
</html>

Проблема заключается в том, что, когда я запустить проект, и введите ниже URL в веб-браузере

http://localhost:8080/greeting 

Результат отображается только этот текст: приветствие в то время как он должен отображать этот текст: Привет, мир!

Я попытался переместить greeting.html из папки шаблонов, но все еще не повезло. Как я понимаю, springboot должен автоматически сканировать компоненты и загружать файлы ресурсов правильно.

Просьба помочь в решении этой проблемы.

ответ

6

Использовать аннотацию @Controller не @RestController аннотация. Он будет работать нормально. @RestController содержит @Controller и @ResponseBody аннотации. Поэтому, если вы используете @RestController, вы получите ответ возврата от метода, на который он сопоставлен.

+1

спасибо Райкишан, что решает мою проблему. – nlonguit

Смежные вопросы