我對Grails和Groovy來說很陌生,發現奇怪的行爲。 在我的控制器類中的一個我有以下list()方法:引擎蓋下的Grails list()方法
def list() {
[priceListInstanceList: PriceList.list(), priceListInstanceTotal: PriceList.count()]
}
,當我從我的GSP摹調用此:選擇一切正常:
<g:select name="priceListId" from="${vladar.PriceList.list()}" optionKey="id" optionValue="priceListName" />
現在,如果我要一種新的方法完全相同的像列表()和名稱改爲列表2()
def list2() {
[priceListInstanceList: PriceList.list(), priceListInstanceTotal: PriceList.count()]
}
和變化克:相應地選擇:
<g:select name="priceListId" from="${vladar.PriceList.list2()}" optionKey="id" optionValue="priceListName" />
我得到一個錯誤信息:
Class
groovy.lang.MissingMethodException
Message
No signature of method: vladar.PriceList.list2() is applicable for argument types:() values: [] Possible solutions: list(), list(java.util.Map), last(), last(java.lang.String), last(java.util.Map), first()
看起來有一些魔法與引擎蓋下list()
方法。 我想在g:select
中獲得具體的選項。我寫了控制器部分,它呈現得很好,但是當我試圖返回值給gsp時得到相同的消息。 看來這是一般問題,而不是我的控制器。 任何想法如何解決list2所以它會顯示在g:select
? 謝謝。
Hello Igor。感謝您的指導。現在很清楚我犯了什麼錯誤。稍後我會做出更改。問候, – Robert