1

重複の可能性:
サーブレットから呼び出し元の JSP にオブジェクトを渡す方法

オブジェクトをサーブレットから JSP に渡すにはどうすればよいですか?

サーブレット側で次のコードを使用しました

request.setAttribute("ID", "MyID");
request.setAttribute("Name", "MyName");
RequestDispatcher dispatcher = request.getRequestDispatcher("MangeNotifications.jsp");  
if (dispatcher != null){  
dispatcher.forward(request, response);  
}

JSP側のこのコード

    <td><%out.println(request.getAttribute("ID"));%> </td>
    <td><%out.println(request.getAttribute("Name"));%> </td>

JSP ページに null の結果が表示される

4

2 に答える 2

1

サーブレットのサービス(doGet/doPost)メソッドは要求されていないと思います。JSP でリクエスト属性にアクセスするには、ビアをリクエストする必要があります。そうすれば、セッションを使用する必要がなくなります。servleturl-pattern

SampleServlet.java


@WebServlet(name = "SampleServlet", urlPatterns = {"/sample"})
public class SampleServlet extends HttpServlet {

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
   request.setAttribute("ID", "MyID");
   request.setAttribute("Name", "MyName");
   RequestDispatcher dispatcher = request
                       .getRequestDispatcher("/MangeNotifications.jsp");  
   if (dispatcher != null){  
      dispatcher.forward(request, response);  
   }
  }
}

MangeNotifications.jsp (このファイルは Web コンテキストのルートにあると思います)


<br/>ID : ${ID}     Or scriptlets  <%-- <%=request.getAttribute("ID")%>  --%> 
<br/>ID : ${Name}

ブラウザを開き、次のようにリクエスト URL サマセッティングを設定します。

http://localhost:8084/your_context/sample
于 2012-08-27T15:04:59.497 に答える
1

セッション ( session.setAttribute("foo", bar);) またはリクエストに入れます。次に、指定した名前 (私の例では「foo」) を介して JSP からアクセスできます。

編集:の代わりに単純<%= ID %>に andを使用します。式の結果を出力することを示す java タグの先頭にある に注意してください。<%= Name %><%out.println.....%>=

于 2012-08-27T13:40:05.890 に答える