簡體   English   中英

將值servlet傳遞給jsp

[英]Pass value servlet to jsp

我想將值servlet傳遞給jsp。 在servlet中設置值並在jsp頁面中使用

我下面收到NullPointerException是我的代碼

jsp

<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>

爪哇

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);

        //communicating a Vector object
        Vector vecObj = new Vector();
        vecObj.add("Servlet to JSP communicating an object");
        request.setAttribute("vecBean",vecObj);

        //Servlet JSP communication
        RequestDispatcher reqDispatcher = getServletConfig().getServletContext().getRequestDispatcher("javaPapers.jsp");
        reqDispatcher.forward(request,response);
      }
    }

錯誤日志我沒有在web.xml中進行任何更改我沒有在web.xml中進行任何更改

org.apache.jasper.JasperException: An exception occurred processing JSP page /javaPapers.jsp at line 21

18:   out.println("Servlet communicated message to JSP: "+ message);
19:  
20:   Vector vecObj = (Vector) request.getAttribute("vecBean");
21:   out.println("Servlet to JSP communication of an object: "+vecObj.get(0));
22: %>
23: </body>
24: </html>


Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:553)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:457)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)


root cause 

java.lang.NullPointerException
    org.apache.jsp.javaPapers_jsp._jspService(javaPapers_jsp.java:83)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)


note The full stack trace of the root cause is available in the Apache Tomcat/7.0.12 logs.

您可能會收到NullPointerException,因為“ reqDispatcher.forward(request,response);” 一起創建一個新請求,由於請求對象中不存在vecObj,因此vecObj變為空。 代替使用reqDispatcher.forward,使用response.redirect。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM