2011-02-10 1 views
2

Я пытаюсь создать простое приложение с использованием SpringMVC для обучения. Я хочу иметь адреса для различных действий в этом форматеКак достичь определенного формата URL-адреса с помощью @RequestMapping в SpringMVC

http://localhost:8080/appname/controllername/actionname.html 

URL-адрес-шаблон указан в сервлет-отображение для DispatcherServlet является

<url-pattern>*.html</url-pattern> 

вот один из моих методов в ContactController

@RequestMapping("list.html") 
public ModelAndView showContacts() {   
    ModelAndView modelandview = new ModelAndView("list"); 

    modelandview.addObject("message","Your contact book"); 

    return modelandview; 
} 

Теперь все работает отлично, когда я перейти к,

http://localhost:8080/appname/list.html 

Однако я хочу URL быть,

http://localhost:8080/appname/contact/list.html 

Я попытался с помощью @RequestMapping("/contact/list.html") на верхней части метода, но это не помогает (показывает ошибку 404 с описанием Запрошенный ресурс() не доступен).

Как это можно сделать?

Кроме того, возможно ли иметь несколько url-шаблонов для отображения сервлета, например. *.html or *.do?

PS. Я использую Apache-Tomcat на рабочем столе Ubuntu

Благодаря

ответ

0

вы проделывали это ли?

@RequestMapping("/contact") 
public class ContactController 
{ 
    @RequestMapping("/list.html") 
    public ModelAndView showContacts() 
    { 
    // ... 
    } 
} 

Кроме того, @RequestMapping принимает массив строк, чтобы несколько отображений.

+0

да что работал. благодаря! – naiquevin

1

Добавить

@RequestMapping("/controllername") 

перед классом декларации.

0

BTW, вы можете упростить еще больше!

This is easily remedied by using an XML-configured strategy for matching URI paths to controller classes and @RequestMapping annotations for method-level mapping only. 

Для получения дополнительной информации смотрите главу Removing Class-Level Request Mappings на http://www.infoq.com/articles/spring-2.5-ii-spring-mvc

 Смежные вопросы

  • Нет связанных вопросов^_^