Grails 3.1.10无法查找视图

时间:2016-09-08 02:44:41

标签: grails gsp

我有一个' JacketController'使用方法show()尝试将模型呈现给视图worklist.gsp

  def show() {
        LOG.debug("JacketController:show()")
        render(view:"worklist", model:PatientSearchResult.list()) as HTML
    }

但每次我从浏览器调用操作时都会收到错误:

[Could not resolve view with name '/jacket/worklist' in servlet with name 'grailsDispatcherServlet'] with root cause  StandardWrapperValve.java 250 javax.servlet.ServletException: Could not resolve view with name /jacket/worklist' in servlet with name 'grailsDispatcherServlet'...

我认为它告诉我worklist.gsp不存在或者位置不对,但worklist.gsp位于grails-app / views / jacket目录中。

我的网址映射如下:

        "/jacket" {
        controller = { 'jacket' }
        action = { GET: 'show' }
    }

我不知道我是否错过了插件或者我的build.gradle在这里:(原谅格式化)

buildscript {
ext {
    grailsVersion = project.grailsVersion
}
repositories {
    mavenLocal()
    maven { url "https://repo.grails.org/grails/core" }
}
dependencies {
    classpath "org.grails:grails-gradle-plugin:$grailsVersion"
    classpath "org.grails.plugins:hibernate4:5.0.10"
    classpath "org.grails.plugins:views-gradle:1.0.12"
    classpath "com.bertramlabs.plugins:asset-pipeline-gradle:2.11.2"
 }} configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
    if (details.requested.name == 'log4j') {
        details.useTarget "org.slf4j:log4j-over-slf4j:1.7.5"
    }
    if (details.requested.name == 'commons-logging') {
        details.useTarget "org.slf4j:jcl-over-slf4j:1.7.5"
    }

} }
     

版本" 0.1"小组" viops"

     

申请插件:" eclipse"申请插件:" idea"申请插件:" war"应用   插件:" org.grails.grails幅"应用   插件:" org.grails.plugins.views-JSON"应用   插件:" org.grails.grails-GSP" apply plugin:" asset-pipeline"

     

\ text {       grailsVersion = project.grailsVersion       gradleWrapperVersion = project.gradleWrapperVersion}

     

知识库{       mavenLocal()       maven {url" https://repo.grails.org/grails/core" }}

     

dependencyManagement {       进口{           mavenBom" org.grails:grails-bom:$ grailsVersion"       }       applyMavenExclusions false}

     

依赖{       //这个顶部部分提供了Grails Logback日志记录解决方案和       //用log4j2替换它       //使用Log4j2添加了新方法,是的,spring让它变得简单       编译" org.springframework.boot:spring-boot-starter-log4j2"

// changed spring-boot-autoconfigure so that it would not
// pull in the logback binding/implementation
compile('org.springframework.boot:spring-boot-autoconfigure') {
    exclude group: 'ch.qos.logback', module: 'logback-classic'
}
compile ('org.springframework.boot:spring-boot-starter-actuator'){
    exclude group: 'ch.qos.logback', module: 'logback-classic'
}


// and finally, added the log4j2 binding/implementation
compile "org.apache.logging.log4j:log4j-api:2.5"
compile "org.apache.logging.log4j:log4j-core:2.5"

compile "org.grails:grails-core"
provided "org.springframework.boot:spring-boot-starter-tomcat"
compile "org.grails:grails-plugin-url-mappings"
compile "org.grails:grails-plugin-rest"
compile "org.grails:grails-plugin-codecs"
compile "org.grails:grails-plugin-interceptors"
compile "org.grails:grails-plugin-services"
compile "org.grails:grails-plugin-datasource"
compile "org.grails:grails-plugin-databinding"
compile "org.grails:grails-plugin-async"
compile "org.grails:grails-web-boot"
compile "org.grails:grails-logging"
compile "org.grails.plugins:cache"
compile "org.grails.plugins:hibernate4"
compile "org.hibernate:hibernate-ehcache"
compile "org.grails.plugins:views-json"
console "org.grails:grails-console"
profile "org.grails.profiles:rest-api"
runtime "com.h2database:h2"
testCompile "org.grails:grails-plugin-testing"
testCompile "org.grails.plugins:geb"
testCompile "org.grails:grails-datastore-rest-client"
testRuntime "org.seleniumhq.selenium:selenium-htmlunit-driver:2.47.1"
testRuntime "net.sourceforge.htmlunit:htmlunit:2.18" }

有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:0)

quindimildev在评论中发布了答案。

我应该先创建一个包含网络个人资料的应用。因此,我使用Web配置文件创建了一个新项目,并将生成的构建文件与现有应用程序进行了比较。

我带来了REST配置文件中缺少的依赖项,并注释掉了一些可能存在冲突的依赖项。

答案 1 :(得分:0)

您错过了使gsp正常工作的依赖项:

        compile "org.grails.plugins:gsp"