作者cklonger (22)
看板java
標題servlet傳直到jsp問題
時間Thu Sep 4 18:44:19 2008
我在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
推 TonyQ:if (xxx!=null){ /* run the body ....*/ }; 09/04 19:43
→ cklonger:請問XXX是什麼 這個code要寫在jsp還是javascript funtion 09/04 20:50
※ 編輯: cklonger 來自: 218.166.12.250 (09/04 20:53)
推 slalala:xxx應該是某instance 09/04 22:03
推 slalala:要不要寫個dispatcher 當session==null 導向error page? 09/04 22:05
推 TonyQ:我猜 xxx是 a , 因為裡面看起來只有a比較有可能產生NullPoin 09/04 23:23
→ cklonger:是a null沒錯 a是用來存session的矩陣 09/04 23:29
→ cklonger:有方法能知道a 已經存好值 因為一定要能存到 else要寫 09/04 23:31
推 TonyQ:if(a!=null){ /* run the body */ }; 09/04 23:33