2

我有一个 JSP,当单击 URL 时,我想用它来调用控制器(链接到另一个 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 页面访问控制器?

4

3 回答 3

2

尝试来自 JSTL 的 url 标签

<%@ 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>
于 2013-08-28T13:18:24.307 回答
2
@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;
    }

}
于 2013-08-28T13:17:01.273 回答
1

发生的事情是该<a href="/something />链接会将您重定向到服务器根目录(因为“/”)。为防止这种情况,您有两种选择:

  • 设置绝对路径:

“/我的项目/某事”

  • 使用 JSTL 标记<c:url value="/something"/>"/myProject"在 url 上添加。
于 2013-08-28T13:24:42.107 回答