尝试从Springboot app

时间:2016-11-15 14:43:07

标签: java html spring-mvc spring-boot thymeleaf

这是在Spring网站上在线下载的Spring Initialzr项目。我使用普通的@Controller并返回一个String,它应该返回视图名称。我在dog.html位置内src/main/resources/templates/。 Controller和html文件发布在下面。

dog.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> ggg</p>
     <p th:text="'Hello, ' + ${dogBreed.breedName} + '!'" />
    </body>
    </html>

下面的ViewController

@Controller
@RequestMapping("/Disney")
public class ViewController {

    @Autowired
    BreedService breedService;

    @RequestMapping(value = "/{breedName}")
    public String getDogsbyBreedName(@PathVariable("breedName") String breedName, Model model) {

        //call a method which returns the Object Breed.

        // store this returned Object "breed" and return it as an html view to display as Graphical content.
        BreedMaster breed = breedService.getAllDogsByBreedName(breedName);
        model.addAttribute("dogBreed",breed);
        return "dog";
    }

    @RequestMapping(value = "/viewtest")
    public String sampleTest(){


        return "sample";
    }

}

下面的sample.html

 <!DOCTYPE HTML>
    <html>
    <head>
     <title>Getting Started: Serving Web Content</title>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    </head>
    <body>
    <p> sample html</p>
    </body>
    </html>

方法breedService.getAllDogsByBreedName(breedName)按品种名称返回狗的列表,我想将其发送到HTML dog.html。但请注意,即使对于网址/viewtest,它也不会引起sample.html投掷错误。意思是我无法到达dog.html以及sample.html并且从未更改任何springboot自动配置。在这方面需要帮助非常糟糕,我认为这是一个愚蠢的错误,任何人都请点出来,谢谢。

我在调用/viewtest时收到的错误消息如下: While Returning sample.html from controller method

我在调用/{breedName}时收到的错误消息如下: 请注意,rerainning String“dog”与输入的“/ {breedName}”(“Labrador”)不相似 While Returning dog.html from controller method

2 个答案:

答案 0 :(得分:0)

尝试在spring boot中取消选中spring-security并重新检查数据库配置(application.properties,configuration class中的属性)。

答案 1 :(得分:0)

我终于得到了问题,并为此解决了问题。 我正在使用Thymeleaf模板引擎所以我已经在我的dog.html中使用了它,但已经添加了

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
    <version>3.0.1.RELEASE</version>
</dependency>

版本号为3.0.1,但后来将版本号更改为1.2.1.RELEASE。在此之后,我可以从@Controller类方法返回所有html文件。不知道它是如何影响甚至简单的html,以及它为什么抛出Circular view path错误。