昨天写的jsp界面遇到这样一个问题,每次访问都出现500错误, 都是java代码发生了异常错误。调试了好久都没发现代码有什么问题,感到很绝望。

jsp中500是什么错误插图

错误信息如下:

jspError.png

代码如下:

<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>

根据错误提示我发现问题出在这行代码上:

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是什么错误的详细内容,更多请关注大盘站其它相关文章!