Привет, я столкнулся с проблемой и просмотрел по всему Интернету, но все еще не смог выяснить причину. Я отправляю свой фрагмент кода, пожалуйста, помогите мне, поскольку я новичок в весне 3. Я использую modelAttribute в форме и что я хочу, чтобы в контроллере все значения из запроса должны были поддерживаться в объекте, чтобы я мог выполнять валидацию и другие бизнес-логики. Я знаю, что есть ошибка только в моем контроллере.Ни BindingResult, ни простой целевой объект для bean-компонента весной 3
1) index.jsp
<form:form action="login" method="POST" modelAttribute="login">
<table>
<tr><td>User Id:</td><td><form:input path="userId"/></td></tr>
<tr><td>Password:</td><td><form:password path="userPassword"/></td></tr>
<tr><td></td><td><input type="submit" value="Login"/></td></tr>
</table>
</form:form>
2) Контроллер
@RequestMapping(value="/login/", method=RequestMethod.POST)
public String login(@ModelAttribute("login") @Valid Login login,BindingResult result)
{
System.out.println("We have entered into controller class");
if(result.hasErrors())
{
System.out.println("Errors:"+result.getFieldError("userReject"));
return "redirect:/login";
}
else
{
return "home";}
}
}
3) JBoss Log
04:35:29,067 ERROR [org.springframework.web.servlet.tags.form.InputTag] (http--0.0.0.0-8090-1) Neither BindingResult nor plain target object for bean name 'login' available as request attribute: java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'login' available as request attribute
at org.springframework.web.servlet.support.BindStatus.<init>(BindStatus.java:141) [spring-webmvc-3.0.5.Release.jar:3.0.5.RELEASE]
Thanx @JB Nizet для быстрого ответа. Поскольку я новичок, я не могу разобраться. Его простая страница входа, на которой я буду вводить userid и userpassword, а затем в контроллере, я проверю его с помощью БД и затем проверит пользователя. Не могли бы вы помочь мне с небольшим фрагментом кода, какие изменения я должен сделать? И спасибо за совет. Это была моя ошибка. Я поменял t на POST – Pulkit
Как я уже сказал, ошибка в методе, который вы не отображали, и который вызывается для отображения формы входа. Отправьте этот метод. Если вы показываете JSP напрямую, не пройдя через метод контроллера, тогда исправьте это. Каждый запрос должен проходить через контроллер. Вот что такое MVC. –
, но сэр это моя индексная страница. Я имею в виду, когда я начинаю свое приложение, это должно прийти первым и попросить пользователя ввести учетные данные, в этом подходе, что нужно изменить и что исправить. Если вы хотите, я могу предоставить git-код, если вы хотите взглянуть – Pulkit