作者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
1F:推 TonyQ:if (xxx!=null){ /* run the body ....*/ }; 09/04 19:43
2F:→ cklonger:请问XXX是什麽 这个code要写在jsp还是javascript funtion 09/04 20:50
※ 编辑: cklonger 来自: 218.166.12.250 (09/04 20:53)
3F:推 slalala:xxx应该是某instance 09/04 22:03
4F:推 slalala:要不要写个dispatcher 当session==null 导向error page? 09/04 22:05
5F:推 TonyQ:我猜 xxx是 a , 因为里面看起来只有a比较有可能产生NullPoin 09/04 23:23
6F:→ cklonger:是a null没错 a是用来存session的矩阵 09/04 23:29
7F:→ cklonger:有方法能知道a 已经存好值 因为一定要能存到 else要写 09/04 23:31
8F:推 TonyQ:if(a!=null){ /* run the body */ }; 09/04 23:33