Я разрабатываю веб-приложение с использованием Spring mvc. У меня есть страница, которая отображает все проекты в БД. Если я нажму на любой из перечисленных проектов, он отобразит некоторые другие дополнительные детали этого конкретного проекта. Это делается с помощью @PathVariable.Как изменить запрошенный URL в весенний mvc, прежде чем перейти к контроллеру
@RequestMapping(value={"/project/{name}"})
public String viewProject(HttpServletRequest request,@PathVariable("name")
String projectName, ModelMap model){
.......
.......
}
Выше мой код отображения запроса. Мой url будет http://localhost:8083/releaseDashboard/project/CSOB.html (csob - это мое имя проекта и releaseDashboard - мое имя приложения). До этого мое приложение прекрасно работает. Когда я нажимаю на кнопку «домой» с этой страницы, мой запрос сопоставляется с указанным выше методом контроллера, а мой url становится localhost: 8083/releaseDashboard/project/home.html. Но ожидаемый URL-адрес localhost: 8083/releaseDashboard/home.html
Может ли кто-нибудь мне помочь? Я читал, что мы можем использовать Interceptor или Filters для изменения запрошенного URL-адреса. Но я не мог увидеть фрагмент кода для этого.
ОБНОВЛЕНИЕ
web.xml
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
пружинно-servlet.xml
<context:component-scan base-package="com.suntec.reldashboard.controller" />
<context:component-scan base-package="com.suntec.reldashboard.service" />
<context:component-scan base-package="com.suntec.reldashboard.dao" />
<mvc:annotation-driven/>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
Понял, что вам нужно. Но неясно, какова ваша ошибка и что вы сделали. Почему ссылка имеет .html? Поскольку это Spring MVC, это должно быть 'http: // localhost: 8083/releaseDashboard/project/CSOB'. –
web.xml настроен так. Это не проблема.если я удалю этот html из web.xml, мой url будет таким же, как вы упомянули в своих комментариях. – sreehari
Пожалуйста, отредактируйте свой вопрос в конфигурационных файлах - web.xml, файле конфигурации пружины и т. Д. Как вы настроили средство просмотра вида? –