4

値サーブレットをjspページに単純に渡したい。jspファイルを実行したいのですが、サーブレットを取得してオンロードデータが表示されます

しかし、私は null を取得しました:"Servlet communicated message to JSP: null "

以下は私のコードです。

Java コード

package api;

public class ServletToJSP extends HttpServlet {
      public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        //communicating a simple String message.
        String message = "Example source code of Servlet to JSP communication.";
        request.setAttribute("message", message);

        RequestDispatcher reqDispatcher = getServletConfig().getServletContext().getRequestDispatcher("javaPapers.jsp");
        reqDispatcher.forward(request,response);


      }
}

jspファイル

<%@ page import="api.ServletToJSP" language="java" %>


<html>
<body>
<%
  String message = (String) request.getAttribute("message");
  out.println("Servlet communicated message to JSP: "+ message);

 // Vector vecObj = (Vector) request.getAttribute("vecBean");
//  out.println("Servlet to JSP communication of an object: "+vecObj.get(0));
%>
</body>
</html>

web.xml

<servlet>
      <servlet-name>ServletToJSP</servlet-name>
      <servlet-class>api.ServletToJSP</servlet-class>
  </servlet>
  <servlet-mapping>

      <servlet-name>ServletToJSP</servlet-name>
      <url-pattern>/ServletToJSP/*</url-pattern>
  </servlet-mapping>
4

4 に答える 4

0

交換

RequestDispatcher reqDispatcher = getServletConfig().getServletContext().getRequestDispatcher("javaPapers.jsp");

RequestDispatcher reqDispatcher = request.getRequestDispatcher("javaPapers.jsp");
于 2013-09-03T07:05:52.277 に答える
-1

サーブレットから jsp へのメッセージを取得するには、コンテキスト パスを使用する必要があります。これは間違いなく動作します。

String msg = "Message from servlet to jsp";
response.sendRedirect(response.encodeRedirectURL(contextPath+"/report/test.jsp?msg="+msg));
于 2015-08-02T08:59:52.357 に答える