2012-05-09 45 views
1

我想跟隨阿賈克斯調用方法列表 - 在這裏驅動選擇教程:http://grails.org/AJAX-Driven+SELECTs+in+GSP不過,我得到以下錯誤:不能空對象

URI 
    /ajaxSelects/ 
Class 
    java.lang.NullPointerException 
Message 
    Cannot invoke method list() on null object 

我跟着教程完全相同。這個問題似乎是從下面的代碼,其中Grails的不喜歡Country.list():

<g:select 
     optionKey="id" optionValue="name" 
     name="country.nameid="country.name" from="${Country.list()}" 
     onchange="${remoteFunction(
     controller:'country', 
     action:'ajaxGetCities', 
     params:'\'id=\' + escape(this.value)', 
     onComplete:'updateCity(e)')}" 
></g:select> 

任何想法,爲什麼這個代碼不工作?

+1

看起來Grails無法找到您的類「Country」並嘗試將其解析爲實例變量。您是否修改了本教程的代碼 - 可能會將「Country」類放入包中或拼錯了它? 'Country.list()'在'CountryController'內工作嗎? – aiolos

+0

這是gsp頁面的路徑。 http:// localhost:8080/ajaxSelects/country/ajax – Universitas

+0

我只在整個項目中使用一個包。有什麼我需要放在gsp頁面,以確保我可以訪問該類? – Universitas

回答

6

你要麼需要做一個頁面導入:

<%@ page import="com.yourpackage.Country" %> 

或使用的完整路徑,

from="${com.yourpackage.Country.list()}" 

您也已經在這裏輸錯

name="country.nameid="country.name" 

應該是

列表
name="country.name" id="country.name" 
+0

謝謝我欣賞答案! – Universitas