Grails 3.x визуализирует динамический шаблон * .gsp - PullRequest
0 голосов
/ 14 ноября 2018

Динамический шаблон gsp создан в моем контроллере, он хорошо работает в среде разработки, но не может работать в рабочей среде.код вроде этого:

def index() {
    def k = Math.round(Math.random() * 100)
    def nowPath = this.class.getResource("/").getPath()
    def controllerName = this.controllerName
    def fileName = "${nowPath}${controllerName}/_${k}.gsp"

    def viewString = new StringWriter()
    def builder = new MarkupBuilder(viewString)
    builder.setDoubleQuotes(true)
    builder.div(id: "create-dataItem", class: "content scaffold-create", role: "main") {
        "g:uploadForm"(controller: "operation4Data", action: "saveDataItem") {
            h1("第${k}次测试")
            h1("test:\${test}")
        }
        def outString = viewString.toString()
        def printer = new File(fileName).newPrintWriter('utf-8')    //写入文件
        printer.println(outString.toString())
        printer.close()

        def test = new Date()
        def view = "${k}"
        render(template: "${view}", model: [test: test, k: k])
    }
}

1 Ответ

0 голосов
/ 14 ноября 2018

В режиме разработки это работает, потому что Grails динамически обновляет приложение с вашими изменениями (контроллерами, службами, gsps и т. Д.)

Я не уверен в ваших потребностях, но, возможно, вы просто хотите динамически визуализировать ответ от контроллера без шаблона. Может быть, эта часть (рендеринг раздела ответа) документа будет полезна

render {
   for (b in books) {
      div(id: b.id, b.title)
   }
}
...