Как связать данные формы в Spring 2.5 наиболее эффективно? - PullRequest
0 голосов
/ 27 марта 2011

Как лучше всего связать данные формы с моделью? Я имею в виду, у меня есть простой класс модели:

public class LoginCommand {

    private String login;
    private String password;

    //getters and setters
}

А как лучше связать данные формы с этой командой в Spring 2.5? Может ли аннотация @InitBinder помочь? Я не мог понять, как это работает .. Один из способов, как я думаю, что это может работать, это ниже.

@Controller
public LoginController {
    @RequestMapping(value = "/login/*", method = RequestMethod.POST)
    public ModelAndView loginAction(@ModelAttribute("loginCommand") LoginCommand lc, BindingResult result) {

        new LoginCommandValidator().validate(lc, result);
        if (result.hasErrors()){
            // didn't validate
        } else {
            // check against db
        }

    }
}

Это лучший способ сделать это?

1 Ответ

1 голос
/ 27 марта 2011

Что ж, для действий при входе в систему вам, вероятно, нужно взглянуть на безопасность Spring.Кроме того, я собираюсь дать некоторое представление о более общем вопросе и предложить вам заглянуть в аннотацию @RequestParam ...

@RequestMapping(value = "/login/*", method = RequestMethod.POST)
public ModelAndView handleLogin(@RequestParam("login")    String username,
                                @RequestParam("password") String password) {
    // create constructor, remove setters to make this immutable
    LoginCommand lc = new LoginCommand(username, password);
    // more code here...
}

Я понимаю, что, возможно, существует несколько способов решения этой проблемы, но мне нравитсяподход благодаря своей простоте и понятности;или более просто, это менее волшебно и легко читается, хотя немного многословно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...