2013-08-28 50 views
2

我有,我想用它來調用一個控制器(這是鏈接到另一個JSP頁面)點擊一個URL時,JSP,我的代碼如下:從JSP重定向到一個控制器春天

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 
<html> 
<body> 
    <h1>Spring MVC Hello World Example</h1> 

    <h2>${msg}</h2> 

    <a href="/FileMonitor/ResultPage/">click</a> 

</body> 
</html> 

我想在/FileMonitor/ResultPage/調用這個類是在這裏:

@Controller 
@RequestMapping(value="/Result") 
public class ResultController extends AbstractController { 

    @Override 
    protected ModelAndView handleRequestInternal(HttpServletRequest request, 
      HttpServletResponse response) throws Exception { 

     ModelAndView model = new ModelAndView("ResultPage"); 
     model.addObject("msg", "result"); 

     return model; 
    } 

} 

但我發現了一個404,任何人都可以看到我在做什麼錯?我如何從JSP頁面訪問控制器?

+1

你能告訴我們這個可見的地址給你一個404嗎?我想這就像localhost:8080/FileMonitor/ResultPage /。如果是這樣,請按照@liya解決方案 – fxm

回答

1
@Controller 
@RequestMapping(value="/FileMonitor/ResultPage/") 
public class ResultController extends AbstractController { 

    @Override 
    protected ModelAndView handleRequestInternal(HttpServletRequest request, 
      HttpServletResponse response) throws Exception { 

     ModelAndView model = new ModelAndView("ResultPage"); 
     model.addObject("msg", "result"); 

     return model; 
    } 

} 
2

嘗試url tag from JSTL

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 
<html> 
<body> 
    <h1>Spring MVC Hello World Example</h1> 

    <h2>${msg}</h2> 

    <a href="<c:url value="/FileMonitor/ResultPage/"/>">click</a> 

</body> 
</html> 
+0

您好,我試過使用這個例子,但我仍然得到一個404,任何想法爲什麼? – MattTheHack

+0

它可能是我的web.xml的問題? – MattTheHack

+0

在控制器類之前是否有@RequestMapping(value =「/ FileMonitor/ResultPage /」)? – Ilya

1

發生了什麼事是<a href="/something />鏈接將您重定向到服務器的根目錄(因爲 「/」)。爲了防止這種情況,你有兩個選擇:

  • 設置絕對路徑:使用JSTL標籤<c:url value="/something"/>至極將增加

「/ myProject的/東西」

  • url上的"/myProject"
相關問題