2010-07-15 79 views
1

我是網絡編程和Spring MVC 2.5的新手。Spring MVC URL路徑變化

我不知道我的問題是春季sprecific或網絡特定的一般。

我有一個menu.jsp,我用jsp:include將它包含在我所有的jsp中。

<ul class="menu"> 
    <c:url var="home" value="home.htm"/> 
    <c:url var="data" value="data.htm"/> 

    <li><a href="${home}" class="parent"><span>HOME</span></a></li> 
    <li><a href="${data}" class="parent"><span>DATA</span></a></li> 
</ul> 

當我打我的應用程序在第一時間和調用http://localhost:8080/myapp/home.htm,一切正常。 但是,當我點擊一個鏈接,使我使用multiactioncontroller一個新的網址。

@RequestMapping(value = "/epm/epmItemList.htm", method = RequestMethod.GET) 
public String setupForm(Model model, HttpServletResponse response) throws IOException { 

} 
@RequestMapping(value = "/epm/epmdelete.htm", method = RequestMethod.GET) 
public String setupForm(Model model, HttpServletResponse response) throws IOException { 

} 

然後我再次點擊回家。我得到一個404。我不知道爲什麼,但是當我檢查鏈接在我的網址,現在就變成: http://localhost:8080/myapp/epm/home.htm

春天,自然地說沒有處理程序映射,可以發現,因爲我沒有任何配置爲這些映射。我該如何解決這個問題?由於

回答

1

請嘗試以下變化:

<ul class="menu"> 
    <c:url var="home" value="/home.htm"/> 
    <c:url var="data" value="/data.htm"/> 

    <li><a href="${home}" class="parent"><span>HOME</span></a></li> 
    <li><a href="${data}" class="parent"><span>DATA</span></a></li> 
</ul> 

這樣的鏈接應該是相對於你的情況下,而不是相對於本地頁面。

+0

Westkamper ..那伎倆。謝謝=) – 2010-07-15 12:38:50

+0

@馬克埃斯特拉達,考慮upvoting的答案,因爲你發現它是正確的。 – ponzao 2010-07-20 10:46:37