2016-11-30 4 views
-1

ich ein Problem mit meinem Controller haben, dauerte es nicht die URL behandeln, wie es sein sollte, hier ist der Code:Frühling erkennt nicht mein @pathvariable

@RequestMapping(value = "seeRoom/{user}/{id}") 
public String getSeeMessage(@PathVariable("user") String user, @PathVariable("id") int id, Model model) { 
    System.out.println(id); 
    return "room"; 
} 

hier ist die Bahn. xml:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" 
     version="3.1"> 
    <servlet> 
     <servlet-name>mif03</servlet-name> 
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>myApp</servlet-name> 
     <url-pattern>/backoffice</url-pattern> 
    </servlet-mapping> 
    <servlet-mapping> 
     <servlet-name>mif03</servlet-name> 
     <url-pattern>/users</url-pattern> 
    </servlet-mapping> 
    <servlet-mapping> 
     <servlet-name>myApp</servlet-name> 
     <url-pattern>/seeRoom/*</url-pattern> 
    </servlet-mapping> 

    <context-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>/WEB-INF/myApp-servlet.xml</param-value> 
    </context-param> 
</web-app> 

hier ist myApp.xml:

<beans xmlns="http://www.springframework.org/schema/beans" 
xmlns:context="http://www.springframework.org/schema/context" 
xmlns:mvc="http://www.springframework.org/schema/mvc" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd 
     http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"> 

<context:component-scan base-package="controller" /> 
<context:component-scan base-package="model" /> 
<bean id="viewResolver" 
    class="org.springframework.web.servlet.view.UrlBasedViewResolver"> 
    <property name="viewClass" 
     value="org.springframework.web.servlet.view.JstlView" /> 
    <property name="prefix" value="/" /> 
    <property name="suffix" value=".jsp" /> 
</bean> 

und meine Finsternis mir dies geben, wenn ich versuche, die Seite zu erreichen:

WARNING: No mapping found for HTTP request with URI [/my-webapp/seeRoom/admin/0] in DispatcherServlet with name 'myApp' 

die statische Handler Arbeit in Ordnung, aber es aussehen wie der Frühling nicht erkennt meine @PathVariable

+0

Warum denkst du sollte es? –

+0

Mögliches Duplikat von [PathVariable in Spring Controller] (http://stackoverflow.com/questions/9077831/pathvariable-in-spring-controller) – arseniyandru

+0

Oder eher, was Sie glauben lässt, @ 'PathVariable' ist in der WARNUNG relevant empfangen? –

Antwort

0

denke ich, Ihre Zuordnung ist nicht richtig konfiguriert. Versuchen Sie, die servlet-mapping für die dispatcherServlet wie folgt definieren:

<servlet-mapping> 
    <servlet-name>dispatcherServlet</servlet-name> 
    <url-pattern>/seeRoom</url-pattern> 
</servlet-mapping> 

Hoffe, es hilft!

Siehe auch: https://stackoverflow.com/a/17946825/6372139 für weitere Erläuterungen.

Stellen Sie außerdem sicher, dass sich die JSP-Dateien an der richtigen Stelle befinden. Ihr ViewResolver Präfix ist als / konfiguriert, aber was Sie normalerweise haben möchten, ist etwas wie /WEB-INF/views/.

Schließlich können Sie wahrscheinlich die bequeme InternalResourceViewResolver anstelle der Basisklasse UrlBasedViewResolver verwenden. Siehe auch: https://stackoverflow.com/a/17453197/6372139 für weitere Informationen zu diesem Thema.

+0

Hallo und danke für deine Antwort, leider funktioniert es nicht, wenn ich meine Zuordnung in um nur/SeeRoom ändere, habe ich nicht einmal die Warnung für die Unmap-URL und es geht nicht in meinem Controller:/ Ich versuche auch, ein InternalResourceViewResolver zu tun, aber es ist das gleiche – Alann

+0

Das ist seltsam. Haben Sie auch überprüft, ob der Pre- und Postfix Ihres View Resolvers zu Ihrer Ordnerstruktur in Ihrem Projekt passt? –

+0

yup:/deshalb poste ich hier mein Problem ^^ " – Alann

Verwandte Themen