Note that there are some explanatory texts on larger screens.

plurals
  1. POfor loop on ArrayList change the object
    primarykey
    data
    text
    <p>I have a jsp page (says , <code>MyJspPage.jsp</code>) - </p> <pre><code>&lt;html&gt; &lt;head&gt; &lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt; &lt;% ArrayList&lt;Person&gt; ownerList = (ArrayList&lt;Person&gt;) request .getAttribute("ownerList"); //set again .. request.setAttribute("ownerList",ownerList) ; %&gt; &lt;/head&gt; &lt;body&gt; &lt;% //itr on all the persons ..; for (Person person : ownerList) { %&gt; // some HTML code.. &lt;% } %&gt; &lt;form action="servlet123" method="POST"&gt; // some fields .. &lt;input type="submit" value="join" /&gt; &lt;/form&gt; &lt;/body&gt; &lt;/html&gt; </code></pre> <p>And a servlet - </p> <pre><code>@WebServlet("/servlet123") public class servlet123 extends HttpServlet { private static final long serialVersionUID = 1L; protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // get the then set .. ArrayList&lt;Person&gt; ownerList = (ArrayList&lt;Person)request.getAttribute("ownerList"); request.setAttribute("ownerList", ownerList); // forward to `MyJspPage.jsp` dispather.forward(request, response); } } </code></pre> <p>Firstly another servlet forward to <code>MyJspPage.jsp</code> and it work fine , then there is like ping pong between <code>MyJspPage.jsp</code> and <code>servlet123</code> . The problem is that when at the 2nd time reachs to <code>MyJspPage.jsp</code> it throws an exception - </p> <pre><code>type Exception report message java.lang.NullPointerException description The server encountered an internal error (java.lang.NullPointerException) that prevented it from fulfilling this request. exception org.apache.jasper.JasperException: java.lang.NullPointerException org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:549) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) javax.servlet.http.HttpServlet.service(HttpServlet.java:722) </code></pre> <p>It should be noted that when I omit the for loop from MyJspPage.jsp and change it to be - </p> <pre><code> &lt;html&gt; &lt;head&gt; &lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt; &lt;% ArrayList&lt;Person&gt; ownerList = (ArrayList&lt;Person&gt;) request .getAttribute("ownerList"); //set again .. request.setAttribute("ownerList",ownerList) ; %&gt; &lt;/head&gt; &lt;body&gt; &lt;form action="servlet123" method="POST"&gt; // some fields .. &lt;input type="submit" value="join" /&gt; &lt;/form&gt; &lt;/body&gt; &lt;/html&gt; </code></pre> <p>all the relation between <code>MyJspPage.jsp</code> and <code>servlet123</code> returns work fine . </p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload