【问题标题】:Cannot get property 'show' on null object in grails无法在 grails 中的空对象上获取属性“显示”
【发布时间】:2021-04-29 11:48:25
【问题描述】:

我得到:

无法在我的 grails 项目中获取 null 对象的属性“显示”

这是我的代码

package com.djamware

class TestController {

    EmployeeService employeeService
 
    def secondaryDataSourceTemplate

    def mainDataSourceTemplate
 
    def testService
    static allowedMethods = [save: "POST", update: "PUT", delete: "DELETE"]

    def index() {
        render  testService.show
    }

     def show() {
 
         Employee employee=new Employee();
         employee.setName("Gaurav chauhan")
         employee.setEmail("chauhankgaurav97@gmail.com")
         employee.setPosition("Java Devloper")
         employee.setSalary(new Double(15000.0))
         String sqlQuery = "SELECT name FROM Employee";
         def counti=new Integer(1);
         try {
            def result = secondaryDataSourceTemplate.queryForList(sqlQuery)
    
            println "result of Query is =====>"+result.name
            println "Size of Result ========> "+result.size();
            counti=result.size();
    
         }
    
         catch (Exception e) {
             e.printStackTrace();
             counti=new Integer(10);
         }
         employeeService.save(employee)
         render  counti;
    }
}

【问题讨论】:

  • 您的应用程序上下文中是否有一个名为 testService 的 bean?

标签: exception grails groovy nullpointerexception nul


【解决方案1】:

尝试在您的静态方法中包含show 的定义


static allowedMethods = [show: "GET", save: "POST", update: "PUT", delete: "DELETE"]

【讨论】:

  • allowedMethods的值不会对问题l中提到的错误产生任何影响
  • 仅供参考...进行您建议的更改的效果是,如果在访问该控制器中的 show 操作时使用了除 GET 之外的任何 HTTP 动词,系统将生成 405。跨度>
  • 对不起,我在手机上,现在我看清楚了,你的错误在线render testService.show你需要验证你已经声明了一个名为testService的服务或bean, Grails 将查找该实例并在存在名为 TestService 的类时注入,否则将查找 bean 定义。还有一件事,您需要检查showtestService 上的属性还是方法,如果是属性则可以,如果不是,则必须更改testService.show()
  • “还有一件事,你需要检查 show 是 testService 上的一个属性还是一个方法,如果是一个属性,那么如果不是你就可以更改 testService.show()” - 的问题似乎与 show 是属性或方法无关。问题似乎是testServicenull
  • 感谢 Joxebus 和 Jeff Scott Brown。我的问题已经解决... TestService 不正确存在,错误即将到来
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多