将HTML和CSS与Kotlin和Spring MVC集成

时间:2017-06-27 18:27:26

标签: html spring-mvc kotlin

我想为我的春季项目添加一些html和css。我正在跑步,并使用Kotlin。我当前的树目录是这样的:link(我没有包含gradle构建文件)。

我只是想打印" Hello $ name $"在网址给出一些输入。这有效。这是GreetingController.kt:

@RestController
    class GreetingController {

    @RequestMapping("/greeting")
         fun greeting(@RequestParam(value = "name", defaultValue = "World") name: String, model: Model) {
         model.addAttribute("name", name);
         return "greeting";
    }
}

我的gradle.build文件:

buildscript {
ext.kotlin_version = '1.1.2' // Required for Kotlin integration
ext.spring_boot_version = '1.5.3.RELEASE'
repositories {
    jcenter()
    mavenCentral()
}
    dependencies {
        classpath "se.transmode.gradle:gradle-docker:1.2"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // Required for Kotlin integration
        classpath "org.springframework.boot:spring-boot-gradle-plugin:$spring_boot_version"
     }
}

apply plugin: 'docker'
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'kotlin' // Required for Kotlin integration
apply plugin: 'org.springframework.boot'
apply plugin: 'application'

jar {
    baseName = 'webapp'
    version = '0.1.0'
}

repositories {
    jcenter()
}

dependencies {
    compile "org.springframework.boot:spring-boot-starter-thymeleaf"
    compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" // Required for Kotlin integration
    compile 'org.springframework.boot:spring-boot-starter-web'
    testCompile 'junit:junit'
}

task buildDocker(type: Docker, dependsOn: build) {
    push = false
    applicationName = jar.baseName
    dockerfile = file('src/main/docker/Dockerfile')
    doFirst {
        copy {
            from jar
            into stageDir
        }
    }
} 

task wrapper(type: Wrapper) {
    gradleVersion = '3.5'
}

springBoot {
    mainClass = 'com.tunnll.spring.webapp.Application'
}

另外,我的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>
编辑:网站在本地运行,所以我无法提供链接。 目前,它打印&#34;问候&#34;这是我在GreetingController中返回的内容。但是,我希望它显示为&#34; Hello World&#34;,这是由html文件生成的。可能是html文件未连接到应用程序的问题。我不确定。任何帮助,将不胜感激。

1 个答案:

答案 0 :(得分:0)

问题是当我应该只使用@Controller时,我正在使用@RestController。 此外,html文件应该位于resources / templates目录中。