我的代码:
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页面中我有url或错误然后wicket返回异常:Unable to find component with id 'error' in ...
我怎么能解决这个问题
答案 0 :(得分:3)
问题是,只有在出现异常时才添加错误标签。快速而肮脏的方法是在try块的最后一行添加EmptyPanel("error");
。
更好的方法是使用wickets FeedbackPanel而不是将带有异常消息的Label添加到catch块中的error(e.getMessage());
。
答案 1 :(得分:-1)
Wicket有一些强大的机制来处理异常(由于某些严重的失败而导致)和错误(由于错误的用户输入而导致)。
我建议您查看wicket wiki或有关feedback messages in wicket的一些示例。