Я изучаю SpringMVC 2, и у меня есть форма, которую мне нужно привязать к объекту (команда). Но что, если мне нужно, чтобы этот объект команды был интерфейсом, чтобы я мог использовать различные реализации для объекта (конечно, все реализации будут иметь одинаковые поля).
Для привязки формы, представляющей учетную запись, у меня есть этот контроллер.
Возможно ли, чтобы я мог связать форму с интерфейсом учетной записи, чтобы после этого я мог использовать ее как бизнес-бин?
Или просто скажите мне, каковы лучшие весенние практики для такого потока:
FORM -> Do Business Logic -> Сохранить в БД
public class OpenAccountControllerSpring2
extends SimpleFormController {
private ClientDao clientDao;
private Account account;
public OpenAccountControllerSpring2() {
setCommandClass( // dont know what to write here);
setCommandName("newAccount");
}
protected ModelAndView onSubmit(HttpServletRequest request, HttpServletResponse response,
Object command, BindException bindExp)
throws Exception {
try {
//here i just want to create a new Account, add it to a Client (Interface), then transform the Client into a database-bean and save it.
int client_id = Integer.parseInt(request.getParameter("clientId"));
Account account = (Account) command;
Client client = Transformer.toBusinessHeavy(clientDao.getClient(client_id));
client.addAccount(account);
clientDao.updateClient(Transformer.toEntity(client));
} catch (Exception err) {
return new ModelAndView(this.getFormView());
}
return new ModelAndView(this.getSuccessView());
}
public void setClientDao(ClientDao dao) {
this.clientDao = dao;
}
public void setAccount(Account account) {
this.account = account;
}
}