grails - 耐火 Material 处理不当

标签 grails intellij-idea controller grails-3.1 urlmappings.groovy

我是一个初学者,尝试学习Grails 3.1。关于默认值,我在索引页面上添加了以下内容:

<ul>
    <g:each var="c" in="${grailsApplication.controllerClasses.sort { it.fullName } }">
        <li class="controller">
                        <g:link controller="${c.logicalPropertyName}">${c.fullName}</g:link>
        </li>
    </g:each>
</ul>

开始时,索引页面显示没有 Controller 。然后,我创建另一个 Controller ,例如 TodosController 。因为此 Controller 名称在某种程度上不太好,所以我想将其重命名(当然,使用Intellij IDEA中的重构功能)到 TodoListController 。不幸的是,该代码仍然保留了两个 Controller ,并在索引页面中显示了它们。当我单击 TodosController 的链接时,出现错误:
Could not resolve view with name '/todos/index' in servlet with name 'grailsDispatcherServlet'

错误的快照如下。
Could not resolve view
我花了很多时间找出它在哪里,但我没有发生任何不可思议的事情。
有人遇到这种情况吗?

最佳答案

听起来您对Grails有点困惑。在这种情况下,最好的方法是停止应用程序并运行clean命令,然后重试。原因是,Grails将您的初始Controller编译到build目录中,该目录中.class文件仍然保留(即使.groovy文件消失了)。组件扫描仍然从类路径中选择类,最后得到两个 Controller 。

关于grails - 耐火 Material 处理不当,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36338222/

相关文章:

grails - Paypal Sandbox 通知仅在用户单击返回按钮后发生

authentication - Grails Micro Service外部化身份验证

grails - Grails-如何在其父类的函数中获取域实体prop的值

java - 我正在编写一个 Controller 来列出 Spring Boot Web Flux 中的员工 ID 和姓名。但也在列表 Controller 中获取 float 值

mongodb - 如何在grails mongodb插件中按嵌入式对象的属性过滤

java - Intellij 文件未找到或已损坏

java - 无法在 intellij 中执行 javaagent - 为我的代理类获取 ClassNotFoundException

intellij-idea - IntelliJ 不会自动完成 JUnit 5 Jupiter 类

php - "Target [App\Http\Controllers\Controller] is not instantiable."

php - 将数据从 Controller 传递到 Blade View laravel