Я не могу получить сообщение об ошибке на странице jsp. В общем, я пытаюсь проверить имя пользователя и пароль правильно или нет в базе данных. Я получаю сообщение об ошибке из dao и catch на контроле код нижеКак отображать ошибки в jsp с использованием Spring mvc
SimpleFormController
public ModelAndView onSubmit(HttpServletRequest request, HttpServletResponse response,Object command,BindException errors) throws Exception {
log.info("onSubmit handleRequest method"+request.getParameter("username"));
boolean isError=false;
String username="",password="",errMessage="";
username=request.getParameter("username");
password=request.getParameter("password");
UserBean ubean=null;
try{
ubean=userservice.chkUsername(username,password);
}catch(DataException ex){
errMessage=ex.getMessage();
isError=true;
//throw ex;
}
if(isError==true){
System.out.println("errMessage handleRequest method"+errMessage);
errors.reject(errMessage);
return showForm(request, response, errors);
}
log.info("After shownform method called");
HttpSession session=request.getSession(true);
session.setAttribute("User",ubean);
return new ModelAndView("UserPage");
}
public ModelAndView showForm(HttpServletRequest request, HttpServletResponse response,BindException errors) throws Exception {
//Displaying Count size
log.info("Show form Error Count"+errors.getErrorCount()+getFormView());
return new ModelAndView(getFormView());
}
Iam пытается отобразить двумя способами в JSP странице, т.е.
Jsp Страница: -
1)
<spring:hasBindErrors name="UserBean">
<h3>You have errors in your input!</h3>
<font color="red">
<c:forEach items="${errors.allErrors}" var="error">
<spring:message code="${error.code}" text="${error.defaultMessage}"/>
</c:forEach>
</font>
</spring:hasBindErrors>
2) <form:form action="userpage.htm" method="post" onsubmit="javascript:fun()">
<tr>
<form:errors path="*"/>
--------
--------
</form:form>
я пытаюсь dispaying над двух способами в jsp.But наконец я не получил какой-либо thing.is там какие-либо вопросы, с выше code.plz помогают мне
Iam, проверяя данные с таблицей базы данных, тогда я выбрал исключение. I..e invalida username/apssword. Но если iam использует валидатор, он работает между представлением формы и до того, как попадет в объект объекта. Это правильно? – user1357722
По-моему, вы должны ввести свой dao в свой валидатор и реализовать всю логику внутри своего настраиваемого валидатора. Цитата взята из [link] (http://stackoverflow.com/questions/1045895/should-validators-in-spring-access-the-database): «Ну, ваши валидаторы - это просто весенние бобы, правильно, поэтому их можно вводить с объектами службы, которые обрабатывают доступ к данным. Вы можете заставить ваши валидаторы получать данные из базы данных без ущерба для дизайна ». – MrKiller21