我正在開發一個使用Spring mvc的web應用程序。我有頁面顯示數據庫中的所有項目。如果我點擊列出的任何項目,它將顯示該特定項目的一些其他詳細信息。這是通過使用@PathVariable完成的。如何更改請求的URL在春天mvc,在去控制器之前
@RequestMapping(value={"/project/{name}"})
public String viewProject(HttpServletRequest request,@PathVariable("name")
String projectName, ModelMap model){
.......
.......
}
以上是我的請求映射代碼。我的網址將是http://localhost:8083/releaseDashboard/project/CSOB.html(csob是我的項目名稱,releaseDashboard是我的應用程序名稱)。直到這我的應用程序工作正常。當我點擊從這個頁面的主頁按鈕時,我的請求映射到上面的控制器方法,我的url變成localhost:8083/releaseDashboard/project/home.html。但預期的網址是localhost:8083/releaseDashboard/home.html
任何人都可以幫我嗎?我讀過我們可以使用Interceptor或Filters來更改請求的URL。但我無法看到任何代碼片段。
UPDATE
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是這樣配置的。這不是一個問題。如果我從web.xml中刪除該html,我的網址將與您在評論中提到的相同。 – sreehari
請編輯你的問題與你的配置文件 - web.xml,彈簧配置文件等。你如何配置視圖解析器? –