0

私のjspには、クエリ文字列を含む別のjspページへのリンクがあります。リンクにカーソルを合わせましたが、すべての情報が正しいです。

<a href='/ph.jsp?albumid=${album.id}'>Click me</a>

ph を PHServlet にマップしました。サーブレット内で、クエリ文字列のアルバム ID を取得しようとしました。

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
        throws ServletException, IOException {

    String albumId = req.getParameter("albumid");
    req.setAttribute("albumid", albumId);

    getServletConfig().getServletContext().getRequestDispatcher("/ph.jsp").forward(req, resp);
}

私の ph.jsp では、代わりに「Album:」と表示されていました。また、例外は発生していません。

Album: <c:out value="${albumid}" />

どこが間違っていたのかわかりません。何か役に立ちますか?

いくつかのテストを行ったところ、リンクをクリックしたときに、サーブレットがまったく実行されていないと思われます。なぜそうなのですか?

4

1 に答える 1

0

わかりました、私は複数のテストの後に解決することができました. 主な理由は、マッピングがphのみで作成されているため、phの代わりにph.jspを配置したことです。

<a href='/ph?albumid=${album.id}'>Click me</a>

これを変更すると、jsp ページをロードする前にサーブレットがロードされます。そして、すべてのデータが取得され、表示されています。

于 2013-09-25T20:34:46.600 に答える