Freemarker, предоставляющий неразрешенную ссылку для объекта "TheApp" - PullRequest
0 голосов
/ 10 апреля 2019

Я следую этому руководству , но часть "TheApp" подсвечивается красным, и я получаю пустую веб-страницу в качестве вывода.Нужно ли мне импортировать какую-то библиотеку для распознавания?

Также, если я не передаю какие-либо данные в шаблон, могу ли я оставить 'модель' в виде пустой строки?

Мойкод котлина:

import io.ktor.server.netty.*
import io.ktor.routing.*
import io.ktor.application.*
import io.ktor.response.*
import io.ktor.server.engine.*
import freemarker.cache.*
import io.ktor.freemarker.*
import io.ktor.freemarker.FreeMarkerContent

fun main(args: Array<String>) {    
    embeddedServer(Netty, 3000) {    
        install(FreeMarker) {
            templateLoader = ClassTemplateLoader(TheApp::class.java.classLoader, "templates")
        }

        routing {
            get("/") {
                call.respond(FreeMarkerContent("templ.ftl", "", "e"))
            }
        }
    }.start(wait = true) }

часть грейд:

plugins {
    id 'java'
    id 'org.jetbrains.kotlin.jvm' version '1.3.21'
}

group 'rest-group'
version '1.0-SNAPSHOT'

sourceCompatibility = 1.8

ext.ktor_version = '1.1.3'

repositories {
    mavenCentral()
    jcenter()
}

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
    testCompile group: 'junit', name: 'junit', version: '4.12'
    compile "io.ktor:ktor:$ktor_version"
    compile "io.ktor:ktor-gson:$ktor_version"
    compile "io.ktor:ktor-freemarker:$ktor_version"
    compile "io.ktor:ktor-html-builder:$ktor_version"
    compile "io.ktor:ktor-server-netty:$ktor_version"
    compile "io.ktor:ktor-auth:$ktor_version"
    compile "io.ktor:ktor:$ktor_version"
    compile "ch.qos.logback:logback-classic:1.2.3"
}

compileKotlin {
    kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
    kotlinOptions.jvmTarget = "1.8"
}

1 Ответ

0 голосов
/ 11 апреля 2019

«TheApp» необходимо заменить на «this». «this» выбирает экземпляр приложения, запускаемого для ktor.

'модель' должна быть ссылочным типом mapOf, даже если значения не используются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...