我有一个Wicket窗体的页面,表单需要合作者完成其工作。合作者注入(为此我使用的吉斯),看起来是这样的:Wicket依赖注入
我不喜欢这个想法,RegistrationService注入RegistrationPage时,它只是需要它的RegistrationForm。我可以改变RegistrationForm接收RegistrationService:
public RegistrationForm(RegistrationService service) {
this.service = service;
}
,并从RegistrationPage删除该字段,但RegistrationPage仍在使用直通做。
我想我问的是最好的做法是做什么?这是确定的事情,或者它或许会是更好地RegistrationForm自身注入到页:
public class RegistrationPage extends WebPage {
@Inject
public RegistrationPage(RegistrationForm form) {
add(form);
}
}
---
private class RegistrationForm extends Form {
private RegistrationService service;
@Inject
public RegistrationForm(RegistrationService service) {
this.service = service;
}
protected void onSubmit() {
service.doSomething();
}
}
我喜欢这个,因为我想有一个单独的类/文件RegistrationForm。我对Wicket很陌生,不确定这个标准是什么 - 有人能让我看到指引性的灯光吗? :)
尼斯一个安德烈亚斯,这正是我之后。我没有意识到IComponentInstantiationListener。 – tddmonkey 2009-03-20 09:40:59