Ни BindingResult, ни простой целевой объект для имени компонента «mstUsermaster» не доступны в качестве атрибута запроса - PullRequest
0 голосов
/ 08 июня 2018

Я пытаюсь войти в систему, используя jstl taglib.Ниже приведен код моей части контроллера

@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 страница (соответствующая часть)

<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>

appconfig-data.xml (соответствующая часть)

<!-- 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"/>

Но я все еще получаю эту ошибку

SEVERE: Servlet.service () для сервлета [jsp] вызвал исключение java.lang.IllegalStateException: ни BindingResult, ни простой целевой объект для имени компонента «mstUsermaster» не доступны какАтрибут запроса по адресу org.springframework.web.servlet.support.BindStatus. (BindStatus.java:144) по адресу org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getBindStatus (AbstractDataBoundFormErame.prg.tg.tg.tg).web.servlet.tags.form.AbstractDataBoundFormElementTag.getPropertyPath (AbstractDataBoundFormElementTag.java:188) в org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getName (.web.rab)tags.form.AbstractDataBoundFormElementTag.autogenerateId (AbstractDataBoundFormElementTag.java:141) at org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.resolveId (AbstractDataBoundFormElementTag.java:132) в org.springframework.web.servlet.tags.formmentAbDataDataFataDataFataDataBata116) в org.springframework.web.servlet.tags.form.AbstractHtmlElementTag.writeDefaultAttributes (AbstractHtmlElementTag.java:422) в org.springframework.web.servlet.tags.form.InputTag.writeTagjjg ().springframework.web.servlet.tags.form.AbstractFormTag.doStartTagInternal (AbstractFormTag.java:84) в org.springframework.web.servlet.tags.RequestContextAwareTag.doStartTag (RequestContextAwareTag.j.ap.java: 80)..index_jsp.org.apache.jasper.runtime.HttpJspBase.service (HttpJspBase.java:70) в javax.servlet.http.HttpServlet.service (HttpServlet.java:742) в org.apache.jasper.servlet.JspServletWrapper.service (JspServletWrapper.java:443) в org.apache..JspServlet.serviceJspFile (JspServlet.java:385) в org.apache.jasper.servlet.JspServlet.service (JspServlet.java:329) в javax.servlet.http.HttpServlet.service (HttpServlet).apache.catalina.core.WsFilter.java:52) по адресу org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:193) по адресу org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChaap.cat.ina.atg..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.we.servlet.view.InternalResourceView.renderMergedOutputModel (InternalResourceView.java:209) в org.springframework.web.servlet.view.AbstractView.render (AbstractView.java:267) в org.springframework.web.servlet.DispatrenSerlet.java: 1221) в org.springframework.web.servlet.DispatcherServlet.processDispatchResult (DispatcherServlet.java:1005) в org.springframework.web.servlet.DispatcherServlet.doDispatch (DispatcherServlet.jpg).org.springframework.web.servlet.DispatcherServlet.doService (DispatcherServlet.java:870) в org.springframework.web.servlet.FrameworkServlet.processRequest (FrameworkServlet.java:961) в org.springbsermeFrameworkServlet.java:852) в javax.servlet.http.HttpServlet.service (HttpServlet.java:635) в org.springframework.web.servlet.FrameworkServlet.service (FrameworkServlet.java:837) в javax.let.service (HttpServlet.java:742) в org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:231) в org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilter.apache.tomcat.websocket.server.WsFilter.doFilter (WsFilter.java:52) в org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:193) в org.apache.catalinaFilter.FterApplicationFilterChain.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.jalgap) at8.core.StandardHostValve.invoke (StandardHostValve.java:140) в org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:80) в org.apache.catalina.valves.AbstractAccessLogValve.in) в org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:87) в org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:342) в org.apache.coyote.httpor.Http11.служба (Http11Processor.java:799) в org.apache.coyote.AbstractProcessorLight.process (AbstractProcessorLight.java:66) в org.apache.coyote.AbstractProtocol $ ConnectionHandler.process (AbstractProtocol.java:868) в org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRun (NioEndpoint.java:1455) в org.apache.tomcat.util.net.SocketProcessorBase.run (SocketProcessorBase.java:49) в java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1149) в java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPog.ache.24).tomcat.util.threads.TaskThread $ WrappingRunnable.run (TaskThread.java:61) в java.lang.Thread.run (Thread.java:748)

Как решить эту ошибку?Пожалуйста, помогите мне

Ответы [ 3 ]

0 голосов
/ 08 июня 2018

при загрузке страницы входа, пожалуйста, добавьте ниже в свой контроллер.

model.addAttribute("mstUsermaster", new MstUsermaster());
0 голосов
/ 08 июня 2018

Попробуйте удалить BindingResult bindingResult, если это сработало, подумайте, должно ли это быть здесь или нет, потому что BindingResult кажется не в том месте.

0 голосов
/ 08 июня 2018

Вы получили эту ошибку, потому что ваш mstUsermaster не привязан к модели

попробуйте это

@ModelAttribute("mstUsermaster")
public MstUsermaster  getMstUsermaster(){
    return new MstUsermaster  ();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...