我具有以下設置:JSFpage導航失敗:背襯bean方法沒有找到
testBean.java與方法
public String getResult()
,它返回"success"
test.xhtml與
<h:commandLink action="#{testBean.result}" value="testlink" />
裏面faces-config.xml中下面的導航規則:
<navigation-rule> <from-view-id>/views/test.xhtml</from-view-id> <navigation-case> <from-outcome>success</from-outcome> <to-view-id>/views/nextpage.xhtml</to-view-id> <redirect /> </navigation-case>
我檢查了導航一般通過簡單地把 「成功」 直接進入action屬性(作品)的作品。另外,將testBean.result
作爲outputText正確顯示「成功」。
但是,當點擊鏈接時,我得到一個「服務器內部錯誤」,只能重新加載頁面。該日誌顯示了以下文本的javax.el.MethodNotFoundException:
Method not found: [email protected]()
我很困惑,當神祕@ 81de8從何而來。這是問題的原因,只是其他地方某些不匹配的症狀或一些完全正常的幕後魔法?任何人都可以找出爲什麼commandLink中的調用失敗,而不是在outputText中?或者指出我應該檢查和測試的其他事情?
由於提前, 路易絲
編輯:Java方法被命名的getResult(不會導致)和錯誤代碼指出對方法的結果(不是字符串)。那些在寫完這個問題上的錯誤,是在一天的工作結束後提出的;)對不起。
這是我編寫測試用例時的錯誤。我從一些中間測試中複製了錯誤消息,然後我將其中一些內容重新命名爲清晰。我以爲我已經檢查了這個問題,但是當我編寫它的時候,它已經很晚了;)和哈希碼解釋+1。 – Louise 2012-08-09 07:29:38
@Louise:那麼你在其他方面一直不小心。不管eljunior表明什麼都不可能導致特定的「未找到方法」異常,或者你必須使用一個具有巨大錯誤的EL實現(然而,沒有人會想到)。 – BalusC 2012-08-09 12:53:10