2016-08-11 52 views
0

Controller類G:每個不顯示任何

class EntidadController { 
    def index(){ 
     def entidades = Entidad.list() 
     [entidades:entidades] 
     render(view:"index") 
     for (x in entidades) 
     { 
      print(x.nombreEntidad) 
     } 
    } 
} 

域類

class Entidad { 

     String nombreEntidad 
     int porcentaje 
     static hasOne = [kiosko: Kiosko] 
     static belongsTo = [adminCreador: Administrador,entidadSuperior: Entidad] 
     static hasMany = [adminEntidad: Administrador, entidadesInferiores: Entidad] 
     static constraints = { 
      kiosko nullable:true   
      nombreEntidad nullable : false 
      adminCreador nullable : true 
      adminEntidad nullable : true 
      entidadSuperior nullable : true 
      entidadesInferiores nullable : true 
     } 



} 

查看在GSP

<!DOCTYPE html> 
<html> 
<head> 
<title>test</title> 


</head> 

<body> 
<p>test</p> 
<div controller="entidadController"> 
<g:each in="${entidades}" var="x"> 
       <tr> 
         <td>${x.id}</td> 

       </tr> 
       </g:each> 
</div> 
</body> 

</html> 

我覺得代碼是不錯,但我不知道爲什麼不在g上顯示任何東西:每個標籤,我試着在gsp頁面中使用靜態數組,每個都有效,我在控制檯和數組中打印「entidades它「有對象,它就像我的觀點從傾斜控制器讀取數據

回答

0

也許渲染聲明是這樣的:

render(view:'index', model:[entidades: entidades]) 
0

如果您不需要分頁和視圖排序,你可以這樣做這對你的GSP

... 
<body> 
<p>test</p> 
<div controller="entidadController"> 
<g:each in="${Entidad.list()}" var="x"> 
      <tr> 
        <td>${x.id}</td> 

      </tr> 
      </g:each> 
</div> 
</body> 
... 
0

的問題是在這裏:

def index(){ 
    ... 
    [entidades:entidades] 
    render(view:"index") 
    ... 
} 

您沒有發送entidades來看。這可以糾正這種方式(render docs):

def index(){ 
    ... 
    render(view:"index", model:[entidades:entidades]) 
    ... 
} 

另外,如果你的觀點,你的動作相同的名稱,你不需要使用明確渲染方法,但由於地圖的最後一行行動(這是一個grails慣例)。像這樣:

def index(){ 
    ... 
    [entidades:entidades] 
}