Я собираюсь предвосхитить это, сказав, что я не очень знаком с Spring-приложениями, однако во многих других системах MVC на основе Java я достиг этого, просто присвоив моим кнопкам отправки имя и проанализировав это вкласс действий, проверяя запрос.
Например, найти, какая кнопка отправки использовалась по имени параметра, вызвать соответствующие методы.Ниже приведен пример решения на основе распорок, которое я иногда использую.Если вы можете получить доступ к объекту запроса сервлета в вашем контроллере Spring, вы можете сделать что-то подобное.
@Override
public String execute() throws Exception {
try {
// Check the request for a someone clicking the logout submit button
if (found("logout")) {
user.logout(); //invoke the logout method
session.remove("user");
return SUCCESS;
}
// Check the request for a someone clicking the login submit button
if (found("login")) {
user.login();
session.put("user", user);
return "login";
}
// Catch any login exceptions
} catch (Exception e) {
user = null;
addActionError(e.getMessage());
return INPUT;
}
return SUCCESS;
}
// The following method checks for a request paramater based on the key (String)
// provided. If the key is not found or the value for the parameters is empty, it
// returns false;
private boolean found(String param) {
Object temp = request.getParameter(param);
if (temp != null) {
if (temp.toString().isEmpty()) {
return false;
}
return true;
} else {
return false;
}
}