2015-11-16 83 views
1

我可以在grails中的兩個類之間共享一個變量,就像在我的控制器中一樣,我想將變量processStart設置爲true,並且一旦after save方法在我的域類該控制器我想將其設置爲false這樣,在grails中跨域和控制器共享變量

class EmployeeController{ 
    def insert() { 
     for (i in 1..params.numberOfEmp.toInteger()) { 
      Employee emp = new Employee(params) 
     processStart = true // set this variable here 
     emp.save() 
     } 
     } 
} 

,並在域類

class Employee { 
    /** domain structure **/ 
def afterInsert() { 
     processStart = false // and after this, set this variable here 
    } 
} 
+0

什麼是變量?它是每個會話或每個請求或每個應用程序的變量嗎?您應該更好地將變量processStart存儲/獲取到這些範圍中的任何一個。 –

+0

它是一個變量每個請求,我維護一個靜態變量,現在它不執行,直到一個完成,但如何等待和恢復循環 – user29578

回答

1

嘗試使用會話變量,你不應該用一個靜態變量做到這一點。

class EmployeeController{ 
    def insert() { 
     for (i in 1..params.numberOfEmp.toInteger()) { 
      Employee emp = new Employee(params) 
      session['processStart'] = true // set this variable here 
      emp.save() 
     } 
    } 
} 

,並在域類:

class Employee { 
    /** domain structure **/ 
    def afterInsert() { 
     session['processStart'] = false // and after this, set this variable here 
    } 
}