您的位置:首页 > 其它

页面提交和显示发布内容发生的错误

2018-01-24 15:44 232 查看
当我在页面上写了如下代码,作用的提取页面上要发布的内容数值,并显示到页面上     
     
     
     
     
  String info;
String dt;
String user;List >messageList = JDBCOption.query(SQLConstant.getmessage);
for (int i = 0; i < messageList.size(); i++) {
HashMap hm = (HashMap) messageList.get(i);
System.out.println(hm.get("info"));
System.out.println(hm.get("published"));
System.out.println(hm.get("auther"));
user = hm.get("author").toString();
info = hm.get("info").toString();
dt = hm.get("published").toString();
System.out.println(user);
System.out.println(info);
System.out.println(dt);但是启动tomcat后却提示严重: Servlet.service() for servlet jsp threw exceptionjava.lang.NullPointerExceptionat org.apache.jsp.index_jsp._jspService(index_jsp.java:105)at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)<
4000
br style="font-family:Helvetica, Tahoma, Arial, sans-serif;color:rgb(51,51,51);line-height:24px;background-color:rgb(245,245,245);" />
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)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:127)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:620)at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)at java.lang.Thread.run(Unknown Source)之后加了几行out.println来逐行打印数值,代码如下
HashMap hm = (HashMap) messageList.get(i);
                    
System.out.println(hm.get(
"info"
));
                    
System.out.println(hm.get(
"published"
));
                    
System.out.println(hm.get(
"auther"
));
                    
 
                    
user =
hm.get(
"author"
).toString();
                    
info =
hm.get(
"info"
).toString();
                    
dt =
hm.get(
"published"
).toString();
                    
System.out.println(user);
                    
System.out.println(info);
                    
System.out.println(dt);
发现前面三行可以打印,但是运行到赋值语句的时候,还是出现了错误。
确定了错误发生在赋值语句上面。之后,尝试把数据强转成string,依然错误。
后来,清空了数据库,发现当数据库没有数据的时候,页面正常显示,当提交后(数据库有数据的时候)页面内容无法
显示。后来经过网友的提醒,删除了tostring,并且把数值声明改为object,解决了这个错误。这个错误检查,测试,思考, 近2天,,真是头都快晕了。果然网友的力量是强大的
--------------------------------------------------------------------------华丽的分割线 。。。。。。。后续,在我查看页面的时候,发现有一个值为null。一想这么可能,数据库里面肯定有数据的。对照着数据库字段和jsp代码发现原来是auther写成了author。。。。前面白费那么多力气,却只是因为一个字母写错了 。希望大家借鉴我的错误,不要犯低级错误。

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐