2

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 ページからコントローラーにアクセスするにはどうすればよいですか?

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 に答える
1

何が起こっているかというと、<a href="/something />リンクによってサーバー ルートにリダイレクトされます ("/" のため)。それを防ぐには、次の 2 つのオプションがあります。

  • 絶対パスの設定:

「/myProject/何か」

  • JSTL タグを使用すると、URL に<c:url value="/something"/>が追加されます。"/myProject"
于 2013-08-28T13:24:42.107 に答える