2012-04-23 94 views
0
處理異常

我的代碼:如何檢票

try { 
    LinkedDataForm form = webService.process(searchForm, path); 
    add(new ExternalLink("url", form.getUrl(), form.getUrl())); 

} catch (Exception e) { 
    add(new Label("error", e.getMessage())); 
} 

其中:

@SpringBean(name = "webService") 
WebService webService; 

和我的HTML頁面的樣子:

<a wicket:id="url">url</a> 
<p wicket:id="error"/> 

問題是在HTML頁面中,我有網址或錯誤,然後檢票返回異常:Unable to find component with id 'error' in ... 我該如何解決這個問題

+1

所以,如果沒有例外,你不會添加該標籤,它不會被發現。顯然這是行不通的。 – 2012-04-23 09:37:34

回答

3

問題在於,只有在發生異常時才添加錯誤標籤。快速而骯髒的方法是在try塊的最後一行添加一個EmptyPanel("error");

更好的方法是使用小門FeedbackPanel,而不是在catch塊中添加帶有例外消息的標籤error(e.getMessage());

0

Wicket具有一些強大的機制來處理異常(這是一些嚴重故障的結果)和錯誤(這是錯誤的用戶輸入導致的)。

我推薦看看wicket wiki或在feedback messages in wicket的一些例子。