2013-08-28 3 views
2

У меня есть JSP, что я хочу использовать для вызова контроллера (который связан с другой страницы JSP), когда URL нажата, мой код выглядит следующим образом:Перенаправление из JSP в контроллер Spring

<%@ 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 solution – 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 /> ссылка будет перенаправить вас на корневой каталог сервера (из-за "/"). Чтобы предотвратить это, у вас есть два варианта:

  • настройки абсолютный путь:

"/ MyProject/что-то"

  • используя JSTL тег <c:url value="/something"/> которым добавит "/myProject" на странице.
Смежные вопросы