我有一个Wicket Session类如下
public class IASession extends AuthenticatedWebSession {
private static final long serialVersionUID = 3529263965780210677L;
@SpringBean
private UserService userService;
public IASession(Request request) {
super(request);
}
@Override
public boolean authenticate(String username, String password) {
// Get the user
UserDetailsDTO user = userService.findByEmail(username);
if(null != user && user.getPassword().equals(password))
return true;
else
return false;
}
@Override
public Roles getRoles() {
Roles roles = new Roles();
roles.add("SIGNED_IN");
return roles;
}
}
在本课程中,我尝试使用wicket-spring注释@SpringBean
自动装配Spring服务。但是当我尝试登录时,它会给我错误。
Last cause: null
WicketMessage: Method onFormSubmitted of interface org.apache.wicket.markup.html.form.IFormSubmitListener targeted at [StatelessForm [Component id = login-form]] on component [StatelessForm [Component id = login-form]] threw an exception
Wicket无法自动装配userService
春豆,这就是为什么它是null
。
我该怎么做才能解决这个问题?
答案 0 :(得分:5)
由于Session不是组件或行为,因此您必须覆盖构造函数并调用Injector.get.inject(this)。请参阅https://play.golang.org/p/tG90idakLP doc。
Profiles