2017-09-06 1 views
2

Meine Anfrage Mapping funktioniert nicht im Frühjahr MVC. Die erste Seite index.jsp wird geladen. Wenn es zu einer Aktion umgeleitet wird, wird der Controller nicht aufgerufen. Hier sind meine Artefakte:Anforderungsmapping funktioniert nicht. springmvc maven

Hier meine web.xml ist:

 <web-app> 
      <display-name>Archetype Created Web Application</display-name> 
      <context-param> 
       <param-name>contextConfigLocation</param-name> 
       <param-value>/WEB-INF/dispatcher-servlet.xml</param-value> 
      </context-param> 

      <listener> 
       <listener-class> 
        org.springframework.web.context.ContextLoaderListener 
       </listener-class> 
      </listener> 

      <servlet> 
       <servlet-name>dispatcher</servlet-name> 
       <servlet-class> 
        org.springframework.web.servlet.DispatcherServlet 
       </servlet-class> 
       <load-on-startup>1</load-on-startup> 
      </servlet> 

      <servlet-mapping> 
       <servlet-name>dispatcher</servlet-name> 
       <url-pattern>/</url-pattern> 
      </servlet-mapping> 
     </web-app> 

Hier mein Dispatcher-servlet.xml ist:

  <context:component-scan base-package="com.ta.controller" /> 

      <bean  class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
       <property name="prefix"> 
        <value>/WEB-INF/views/</value> 
       </property> 
       <property name="suffix"> 
        <value>.jsp</value> 
       </property> 
      </bean> 
      <mvc:annotation-driven /> 
      <mvc:resources mapping="/resources/**" location="/resources/" /> 

     </beans> 

Hier ist meine Controller-Klasse:

  @RequestMapping(value ="/dashboard", method = RequestMethod.POST) 
      public ModelAndView dashboard(@RequestParam(value = "name", required = false) String name) { 

       ModelAndView view = new ModelAndView("dashboard"); 
       view.addObject("name", name); 
       return view; 
    Below is the Index.jsp 

     <form:form class="form-horizontal" method="POST" action="dashboard"> 
       <div class="login-wrap"> 
       <div class="login-html"> 
        <input id="tab-1" type="radio" name="tab" class="sign-in" checked><label for="tab-1" class="tab">Sign In</label> 
        <input id="tab-2" type="radio" name="tab" class="sign-up"><label for="tab-2" class="tab">Sign Up</label> 
        <div class="login-form"> 
         <div class="sign-in-htm"> 
          <div class="group"> 
           <label for="user" class="label">Username</label> 
           <input id="user" type="text" class="input"> 
          </div> 
         </div> 
        </div> 
       </div> 
      </div> 
      </form:form> 

     </body> 
     </html> 

Dies ist wie in den grundlegenden Tutorials von Feder mvc. Bitte lassen Sie mich wissen, wo etwas schief läuft. Danke im Voraus.

Antwort

0

Sie sollten die Init-Parameter in Ihrem Spring-MVC-Servlet-Tag einstellen. Sie können Ihnen dann sagen, wo sich Ihre Konfigurationen befinden.

<servlet> 
    <servlet-name>springMVC</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <init-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>classpath:spring/ApplicationContext-mvc.xml</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
</servlet> 
+0

\t \t Dispatcher \t \t \t \t \t org.springframework.web.servlet.DispatcherServlet \t \t \t \t contextConfigLocation /WEB-INF/dispatcher-servlet.xml \t \t 1 \t Es wird als Kontext param ohnehin definiert wurde i definiert als init param und versucht, immer noch das gleiche Problem. –

+0

sollten Sie absoluten Pfad verwenden, oder den Pfad relativ zu Ihrem Klassenpfad verwenden (wenn Ihr Projekt ausgeführt wird, wird es ** projectPath/WEB-INF/classes **), und ich denke, der zweite Weg ist besser –

+0

Die Standardfeder- MVC-Dispatcher-Pfad ist das WEB-INF-Verzeichnis, der Name lautet [] - Servlet.xml, daher sollte die Konfiguration auch verfügbar sein, aber ich weiß nicht, warum es für Sie nutzlos ist –

Verwandte Themen