2015-08-13 21 views
0

在我的第一個基於Quickstart Maven原型的Wicket項目(使用Eclipse mars和Glassfish 4.1在Wicket 6.20中開發)中,我使用 getResourceSettings().getResourceFinders().add(new WebApplicationPath(getServletContext(), "html"));將代碼與標記分開。Wicket測試程序不搜索WebApplicationPath

我的主頁效果很好,但WicketTester拋出一個異常org.apache.wicket.markup.MarkupNotFoundException: Can not determine Markup. Component is not yet connected to a parent. [Page class = ...MyProject.HomePage, id = 0, render count = 1]

此問題似乎並沒有被文獻的任何地方解決。

回答

2

多小時的搜索後,進行徹底的調試會話導致我的JavaDoc爲MockServletContext所其解釋說,這是需要提供一個絕對路徑到磁盤上的應用程序的根,如果使用非默認的資源位置。

此外,我發現這個路徑可以作爲第二個參數提供給WicketTester的構造函數。

return new WicketTester(new WicketApplication(),"<path to Eclipse workspace>/MyProject/src/main/webapp"); 

所以,我的測試設置()方法完成