2012-05-25 246 views
0

我看過類似的問題,沒有解決方案的工作。PrimeFaces - 無法加載資源

我正在做一個Ajax調用,但我的方法從來沒有被調用過。

我有這樣的錯誤在Chrome:

GET http://localhost:8080/ERP.GUI2/views/user/login.html jquery.js.html:23 
b.ajaxTransport.send jquery.js.html:23 
b.extend.ajax jquery.js.html:23 
PrimeFaces.ajax.Queue.offer primefaces.js.html:1 
PrimeFaces.ajax.AjaxRequest primefaces.js.html:1 
PrimeFaces.ab primefaces.js.html:1 
onclick 

我已經檢查過這些文件都行,他們的存在和路徑是正確的,我可以打開他們的瀏覽器。

這裏是我的按鈕:

<p:commandButton actionListener="#{userController.logIn()}" value="Entrar"/> 

有些時候,錯誤就是:

Failed to load resource http://localhost:8080/ERP.GUI2/views/user/login.html 

當我第一次運行該代碼,報告沒有錯誤,錯誤顯示什麼時候我點擊調用該方法的按鈕。

我不知道它是否重要,但我使用Eclipse並且添加了一個JavaScript Resources,我不知道它是干擾什麼,也不知道如何刪除它。

回答

1

如果您使用JSF ManagedBean註釋或任何JSF範圍註釋(如@RequestScoped@SessionScoped),請確保它從javax.faces.bean包中導入。

有時代碼完成錯誤導入錯誤的包。

現在,假設你的logIn()方法是public void如:

public void logIn() 
{ 
    //login code here 
} 

您應該刪除從EL括號,因爲ActionListener屬性已經預計的方法表達。

嘗試:

<p:commandButton actionListener="#{userController.logIn}" value="Entrar"/>

我希望它能幫助。

+0

感謝您的回答。你能解釋我爲什麼在這種情況下使用Eclipse或NetBeans時有什麼不同?如果我沒有錯,Eclipse會自動生成括號,但NetBeans不會。通過解決方案來判斷,這是正確的**沒有**使用它們,對吧? – Gerep

+0

很高興幫助。是的,默認情況下,在大多數情況下,您不會將它們用於方法表達式。我同時使用IDE和從我的經驗來看,Netbeans對Java EE的支持總體來說更好。 – rbento