jsp——500错误

xiaoxiao2021-02-28  13

问题:

昨天写的jsp界面遇到这样一个问题,每次访问都出现500错误, 调试了好久都没发现代码有什么问题,感到很绝望,错误信息如下: 代码如下:

<div class="news"> <% ArrayList<JSONObject> list = (ArrayList<JSONObject>)request.getAttribute("newsList"); for(JSONObject j: list){ %> <a href="<%=j.get("url").toString()%>"><%=j.get("title").toString()%></a> <p><%=j.get("postdate")+" "+j.get("content").toString().substring(0,100)%>...</p> <% } %> </div>

解决办法:

通过在网上查了好多方法,我认为最可靠的说法是500错误是由于空指针异常导致的, 也就是说有一个需要获取的内容没有获取到,还是代码的问题, 根据错误提示我发现问题出在这行代码上:

ArrayList<JSONObject> list = (ArrayList<JSONObject>)request.getAttribute("newsList");

直观看上去并没有错误,request.getAttribute(“newsList”)中的参数名也没有写错, 相应的servlet中也读取到了数据库中的内容, 那为什么为报500错误呢? 代码修改如下:

<div class="news"> <% ArrayList<JSONObject> list = (ArrayList<JSONObject>)request.getAttribute("newsList"); if (list != null && list.size()!=0){ for(JSONObject j: list){ %> <a href="<%=j.get("url").toString()%>"><%=j.get("title").toString()%></a> <p><%=j.get("postdate")+" "+j.get("content").toString().substring(0,100)%>...</p> <% } } %> </div>

即在直接遍历打印list之间,进行非空判断!!! 这也给我以后写代码提供了很大的启示, 在代码规范、代码习惯和代码严谨性方面还有很长的路要走!!! 很多时候,不是你以为的就是你以为的!!! 现在访问该jsp,就没有出现500错误了, 但是页面没有内容,确实是list为null造成的, 好吧,现在问题来了, 为什么servlet中有内容,但却没有成功传到jsp呢? (我还没有解决,该问题未完待续T.T)

转载请注明原文地址: https://www.6miu.com/read-1650022.html

最新回复(0)