Вложение Spring 3 MVC RequestMapping

Из Официального документа Spring Spring 3 MVC надеется быть Отображением Запроса вложения поддержки. страница 448 http://static.springsource.org/spring/docs/3.0.0.RELEASE/spring-framework-reference/pdf/spring-framework-reference.pdf In, они упомянули:

@Controller
@RequestMapping("/appointments")
public class AppointmentsController {
//...
    @RequestMapping(value="/new", method = RequestMethod.GET)
    public AppointmentForm getNewForm() {
        return new AppointmentForm();
    }
//...
}

(Я устранил некоторый код для удобочитаемости) В таком случае, они утверждали что запрос к /appoinments/new вызовет getNewForm метод. Однако это не работает с моим локальным сервером Google App Engine (хотя сервер GAE работает просто великолепно с отображением, которые не вкладываются). Я создаю контроллер в качестве примера как ниже:

@Controller
@RequestMapping("/basic.do")
public class HelloWorldController {
    @RequestMapping(value="/hello", method=RequestMethod.GET)
    public ModelAndView helloWorld() {
        ModelAndView mav = new ModelAndView();
        mav.setViewName("basic/helloWorld");
        mav.addObject("message", "Hello World From Phuong!");
        return mav;
    }
}

но запрос к /basic.do/hello всегда результаты по 404 ошибкам.

Удивление, если что-то не так там? Я использую управляемый аннотацией режим с *.do запрос обработан к пружине DispatchServlet.

5
задан skaffman 10 February 2010 в 13:48
поделиться

1 ответ

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

@Controller
@RequestMapping("/basic")
public class HelloWorldController {
    @RequestMapping(value="/hello.do", method=RequestMethod.GET)
    public ModelAndView helloWorld() {
        ModelAndView mav = new ModelAndView();
        mav.setViewName("basic/helloWorld");
        mav.addObject("message", "Hello World From Phuong!");
        return mav;
    }
}

и попробуйте с помощью basic/hello.do url

Причина в том, что /basic.do/hello не будет обрабатываться вашим сервлет-диспетчером, так как это не URL, который заканчивается на .do

BTW, .html расширения лучше, чем .do, IMHO

.
14
ответ дан 18 December 2019 в 13:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: