servlet傳直到jsp問題

看板java作者 (22)時間17年前 (2008/09/04 18:44), 編輯推噓5(503)
留言8則, 3人參與, 最新討論串1/2 (看更多)
我在serlve將二惟array存在session 之後到jsp再取出來 int size = 0; int n =0; size = session.getAttribute("sized")==null?0:Integer.parseInt(session.getAttribute("sized").toString()); // out.println(size); String a[][] = new String[2][size]; a =(String[][])session.getAttribute("valuesd"); out.println("<table border = '1'><tr><td>Domain name</td><td>Alert numbers</td></tr>"); for(n = 0; n<size;n++){ out.println("<tr><td>"+a[0][n]+"</td>"); out.println("<td>"+a[1][n]+"</td></tr>"); } out.println("</table>"); //out.println(a.length); a = null; 但是會有 第一次load jsp 值印不出來 要重整網頁才印出來 我加了一個迴圈 想要判斷 array取到了再列印 while(a.length <=0){ } 但是會出現錯誤訊息 2008/9/4 銝鲳? 06:13:42 org.apache.catalina.core.StandardWrapperValve invoke ?湧??? Servlet.service() for servlet jsp threw exception java.lang.NullPointerException at org.apache.jsp.chart_002dnewall_jsp._jspService(chart_002dnewall_jsp.java:178) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:595) 請問有什麼方法可以讓網頁第一次就取到session的值 或是讓out.print可以等到array assign ok再列印 -- refresh 因為會讓網頁其他部分的呈現跑掉 所以不能採用 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.241.25.133

09/04 19:43, , 1F
if (xxx!=null){ /* run the body ....*/ };
09/04 19:43, 1F

09/04 20:50, , 2F
請問XXX是什麼 這個code要寫在jsp還是javascript funtion
09/04 20:50, 2F
※ 編輯: cklonger 來自: 218.166.12.250 (09/04 20:53)

09/04 22:03, , 3F
xxx應該是某instance
09/04 22:03, 3F

09/04 22:05, , 4F
要不要寫個dispatcher 當session==null 導向error page?
09/04 22:05, 4F

09/04 23:23, , 5F
我猜 xxx是 a , 因為裡面看起來只有a比較有可能產生NullPoin
09/04 23:23, 5F

09/04 23:29, , 6F
是a null沒錯 a是用來存session的矩陣
09/04 23:29, 6F

09/04 23:31, , 7F
有方法能知道a 已經存好值 因為一定要能存到 else要寫
09/04 23:31, 7F

09/04 23:33, , 8F
if(a!=null){ /* run the body */ };
09/04 23:33, 8F
文章代碼(AID): #18lxm5Vb (java)
文章代碼(AID): #18lxm5Vb (java)