Exception 无法获取属性';显示';关于grails中的null对象
我得到: 无法在我的grails项目中的null对象上获取属性“show” 这是我的密码Exception 无法获取属性';显示';关于grails中的null对象,exception,grails,groovy,nullpointerexception,nul,Exception,Grails,Groovy,Nullpointerexception,Nul,我得到: 无法在我的grails项目中的null对象上获取属性“show” 这是我的密码 package com.djamware class TestController { EmployeeService employeeService def secondaryDataSourceTemplate def mainDataSourceTemplate def testService static allowedMethods = [sa
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;
}
}
尝试将
show
static allowedMethods = [show: "GET", save: "POST", update: "PUT", delete: "DELETE"]
您的应用程序上下文中是否有名为
testService
的bean?allowedMethods
的值不会对问题1中提到的错误产生任何影响。。。您建议的更改的效果是,如果在访问该控制器中的show
操作时使用GET以外的任何HTTP动词,系统将生成405。很抱歉,我当时正在使用手机,现在我看清楚了,您的错误在render testService.show
行上。您需要验证您是否声明了名为testService
的服务或bean,Grails将查找该实例并在名为testService
的类存在时进行注入,否则将查找bean定义。还有一件事,您需要检查show
是否是testService
上的一个属性或一个方法,如果是一个属性,那么如果不是,您就可以更改testService.show()
“还有一件事,您需要检查show是否是testService上的属性或方法,如果是属性,则可以。如果不是,则必须更改testService.show()“-该问题似乎与show
作为属性或方法无关。问题似乎是testService
是null
。谢谢Joxebus和Jeff Scott Brown。我的问题已经解决了。。。TestService未正确存在,这是由于出现了错误