2011-11-10 3 views
5

Pracowałem aplet, który trzeba konwertować do kontrolera Wiosna MVC mieć dostęp fasoli wiosenne itp Dlaczego w normalnym aplet request.getPathInfo() nie wraca null, ale wiosną kontrolera i uzyskać wartość null? Wiem, że mogę użyć @PathVariable, ale zastanawiam się, dlaczego wyniki tej metody są różnicą?Wiosna MVC kontroler - getPathInfo() jest zerowy

@RequestMapping(value = {"/test", "/test/*"}) 
public void test(HttpServletRequest req, HttpServletResponse res) { 

    log.info(req.getPathInfo() == null); // true! 

    if (req.getMethod().equalsIgnoreCase("get")) { 
     // analogue to doGet... 
    } else { 
     // analogue to doPost... 
    } 

} 
+0

jaki jest adres URL, który uderzasz? –

+0

URL: 'http: // localhost: 8080/myApp/test/hello'. 'req.getPathInfo()' shuld return '/ hello' – marioosh

Odpowiedz

6

Myślę, że rozwiązanie jest w javadoc z getPathInfo()

Dodatkowe informacje ścieżka podąża ścieżką serwletu ale poprzedza ciąg kwerendy i rozpocznie się od znaku „/”.

W przypadku wiosny ścieżka serwletu jest pełną ścieżką, więc jeśli wywołasz metodę getServletPath(), zawsze zwróci pełny identyfikator URI, a metoda getPathInfo() nie zwróci nic.

+0

To powinno być z pewnością oznaczone jako poprawna odpowiedź. –