Grails错误:没有此类属性:它用于类:
下面是我的代码。 这里我得到一个错误,它是“没有这样的属性:它用于类:emp.EmployeeController”。 我想我在这里做错了什么。 有什么建议吗Grails错误:没有此类属性:它用于类:,grails,Grails,下面是我的代码。 这里我得到一个错误,它是“没有这样的属性:它用于类:emp.EmployeeController”。 我想我在这里做错了什么。 有什么建议吗 def list ={ def id=params.id def results String employee="SELECT empName, empDate, empNo from employee where empId='id'" String referrer="SELECT e
def list ={
def id=params.id
def results
String employee="SELECT empName, empDate, empNo from employee where empId='id'"
String referrer="SELECT empName, empDate, empNo from referer where empId='id'"
def employeeInstanceList = new ArrayList<Employee>()
Sql sql = new Sql(dataSource)
def joining=null
joining = sql.rows( "select joining from employee_dates")
if (joining!=null)
results = sql.eachRow(employee)
employeeInstanceList=getCalculatedEmployeeData(results)
/*{
def employee = new Employee()
employee.setempName it.empName
employee.setEmpNo it.empNo
employee.setEmpDate it.EmpDate
employeeInstanceList.add employee
}*/
else
results = sql.rows (currentDaySql)
employeeInstanceList=getCalculatedEmployeeData(results)
/*{
def employee = new Employee()
employee.setempName it.empName
employee.setEmpNo it.empNo
employee.setEmpDate it.EmpDate
employeeInstanceList.add employee }*/
}
[employeeInstanceList: [employeeInstanceList: employeeInstanceTotal: Employee.count()]
}
def getCalculatedImpactData(def results){
def employee = new Employee()
employee.setempName it.empName
employee.setEmpNo it.empNo
employee.setEmpDate it.EmpDate
employeeInstanceList.add employee }*/
return [employeeInstanceList: employeeInstanceList]
}
谢谢,
Meghana该代码有太多错误,我不知道从哪里开始 但为了避免获得更多的反对票,我尝试了: 我试图将您的代码复制到IDE中,并尝试找出您想要实现的目标,但无法实现 这是我能得到的最接近的结果:
def list = {
def id = parmas.id
def results
String employee = "SELECT empName, empDate, empNo from employe"
def employeeInstanceList
Sql sql = new Sql(dataSource)
def joining = sql.rows("select joining from employee_dates")
if (joining != null) {
results = sql.eachRow(employee)
employeeInstanceList = getCalculatedEmployeeData(results)
}
else {
results = sql.rows(currentDaySql)
employeeInstanceList = getCalculatedEmployeeData(results)
}
[employeeInstanceList: employeeInstanceList, employeeInstanceTotal: Employee.count()]
}
def getCalculatedImpactData(def results) {
def employeeInstanceList = new ArrayList<Employee>()
results.each { it ->
def employee = new Employee()
employee.empName = it.empName
employee.empNo = it.empNo
employee.empDate = it.EmpDate
employeeInstanceList.add(employee)
}
return employeeInstanceList
}
但它仍然引用了一个不存在的变量currentDaySql,我不确定您试图对“连接”结果做什么
你真的需要仔细阅读Groovy的基础知识。我支持leebutts的回答。。。但仅仅是一个指针,it关键字的使用通常仅限于闭包。。。因此,不要在java中执行此操作:
List l = [];
for (Iterator i = l.iterator(); i.hasNext(); ) {
...do something adressing List l at position i...
}
您可以在groovy/grails中执行此操作:
list.each { it ->
...do something with each object in the list (it)...
}
但是,您应该仔细阅读groovy闭包的相关内容,其中出现错误的代码块可能是:
def getCalculatedImpactData(def results){
def employee = new Employee()
employee.setempName it.empName
employee.setEmpNo it.empNo
employee.setEmpDate it.EmpDate
employeeInstanceList.add employee
return [employeeInstanceList: employeeInstanceList]
}
它没有在任何地方定义提示:编译错误告诉了您这一点。正如Sebastian所说,它通常用于闭包;这里定义的是一个函数。大概你想用结果或者其他什么来代替它
我假设代码中的某些内容(例如注释开始/结束)不在其中,而是在看到错误和发布代码之间添加的。否则会出现其他错误