Java bean name';的BindingResult或普通目标对象;mstUsermaster';可用作请求属性
我正在尝试使用jstl taglib进行登录。下面是我的控制器部分代码Java bean name';的BindingResult或普通目标对象;mstUsermaster';可用作请求属性,java,spring,jsp,jstl,Java,Spring,Jsp,Jstl,我正在尝试使用jstl taglib进行登录。下面是我的控制器部分代码 @SuppressWarnings("unused") @RequestMapping(value = "/authentication", method = RequestMethod.POST) public String login(@ModelAttribute("mstUsermaster")MstUsermaster mstUsermaster, BindingResult bindingResu
@SuppressWarnings("unused")
@RequestMapping(value = "/authentication", method = RequestMethod.POST)
public String login(@ModelAttribute("mstUsermaster")MstUsermaster mstUsermaster, BindingResult bindingResult, Model model) {
MstUsermaster usermaster=loginService.authenticateUser(mstUsermaster);
if(mstUsermaster != null ){
System.out.println("You Are a Valid User "+mstUsermaster.getName());
model.addAttribute("mstUsermaster1",usermaster);
}else{
model.addAttribute("loginMessage", "You have entered Wrong UserName or Password!");
return "index";
}
return "dashboard";
}
jsp页面(相关部分)
用户名
密码
appconfig-data.xml(相关部分)
但我仍然得到这个错误
严重:Servlet[jsp]的Servlet.service()引发异常
java.lang.IllegalStateException:既不是BindingResult也不是plain
bean名称“mstUsermaster”的目标对象可作为请求提供
归因于
org.springframework.web.servlet.support.BindStatus.(BindStatus.java:144)
在
org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getBindStatus(AbstractDataBoundFormElementTag.java:168)
在
org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getPropertyPath(AbstractDataBoundFormElementTag.java:188)
在
org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getName(AbstractDataBoundFormElementTag.java:154)
在
org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.autogenerateId(AbstractDataBoundFormElementTag.java:141)
在
org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.resolveId(AbstractDataBoundFormElementTag.java:132)
在
org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.writeDefaultAttributes(AbstractDataBoundFormElementTag.java:116)
在
org.springframework.web.servlet.tags.form.AbstractHtmlElementTag.writeDefaultAttributes(AbstractHtmlElementTag.java:422)
在
org.springframework.web.servlet.tags.form.InputTag.writeTagContent(InputTag.java:142)
在
org.springframework.web.servlet.tags.form.AbstractFormTag.doStartTagInternal(AbstractFormTag.java:84)
在
org.springframework.web.servlet.tags.RequestContextAwareTag.doStartTag(RequestContextAwareTag.java:80)
在
org.apache.jsp.views.index\u jsp.\u jspx\u meth\u form\u 005finput\u 005f0(index\u jsp.java:352)
在
org.apache.jsp.views.index\u jsp.\u jspx\u meth\u form\u 005fform\u 005f0(index\u jsp.java:287)
在org.apache.jsp.views.index\u jsp.\u jsp服务(index\u jsp.java:219)上
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)位于
http.HttpServlet.service(HttpServlet.java:742)位于
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:443)
在
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
位于org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
在
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
在
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
在
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
在
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
在
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:728)
在
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:467)
在
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:392)
在
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:311)
在
org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:209)
在
org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:267)
在
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1221)
在
org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1005)
在
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:952)
在
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:870)
在
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)
在
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
在
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
在
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
在
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
在
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
在
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
在
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
在
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478)
在
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
在
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
在
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624)
在
org.apache.catalina.core
<form:form method="POST" id ="loginForm" action="${contextPath}/authentication" class="form-signin" modelAttribute="mstUsermaster">
<div class="form-group">
<label for="exampleInputEmail1" class="text-uppercase">Username</label>
<form:input type="text" class="form-control" placeholder="Username" path="userName" name="username" required="" />
<!-- <input type="text" class="form-control" placeholder="" id="userName" name="userName"> -->
</div>
<div class="form-group">
<label for="exampleInputPassword1" class="text-uppercase">Password</label>
<form:input type="password" class="form-control" placeholder="Password" path="password" id="password" name="password" required="" onkeypress="enterKeyPress(event);"/>
<!-- <input type="password" class="form-control" placeholder="" id="password" name="password"> -->
</div>
<div class="form-check">
<input type="button" name="submit" class="btn btn-login pull-right" value="Login" id="login">
<!-- <button type="submit" class="btn btn-login pull-right">Login</button> -->
</div>
</form:form>
<!-- Customer Data Access Object -->
<bean id="applicationContextProvder" class="com.mistraining.isgpp.util.ApplicationContextProvider"/>
<bean id="loginDao" class="com.mistraining.isgpp.dao.impl.LoginDaoImpl" />
<bean id="loginService"class="com.mistraining.isgpp.service.impl.LoginServiceImpl"/>
<bean id="mstUsermaster" class="com.mistraining.isgpp.model.MstUsermaster"/>
@ModelAttribute("mstUsermaster")
public MstUsermaster getMstUsermaster(){
return new MstUsermaster ();
}
model.addAttribute("mstUsermaster", new MstUsermaster());