问题描述
- jsp中进行判断的问题,抛出空指针异常
-
源代码如下,是未经判断的情况,产生了空指针异常,报错的下面第二句话,现在的情况是有附件是不报错,无附件是就报错(ps. file代指附件)<s:set var="file" value="mailInfoFB.file" scope="page"></s:set> <%fileName = ((String)pageContext.getAttribute("file")).split(","); %> <tr id="addedfujian"> <td></td> <td colspan="2"> <c:if test="${file != null}"> <!--附件列表开始--> <div class="attachment"> <div class="att_mail"><strong>附件(<%=fileName.length %>个)</strong></div> <div class="att_table"> <table border="0" cellpadding="0" cellspacing="0"> <%for(int i = 0;i<fileName.length;i++) {%> <tr><td style="text-align: left;"><%=fileName[i]%></td><td style="text-align: left;"><span style="color: #7D7D7D;"></span></td><td style="text-align: left;"> <input type="button" onclick="$('#fileName').attr('value','<%=fileName[i] %>');$('#folderType').attr('value','${ft}');$('#downloadform').submit();" value="下载"> </td></tr> <%} %> </table> </div> </div> <!--附件列表结束--> </c:if> </td> </tr>
解决方案
pageContext.getAttribute("file"),有附件会返回一个值,如果没有,返回的是null,会抛出空指针异常
解决方案二:
关于Android setOnclicklistener抛出空指针的问题
解决方案三:
<%fileName = ((String)pageContext.getAttribute("file")).split(","); %>
<%=fileName.length %>
这些地方都 要做null值判断
解决方案四:
打印一下,看看那个变量为空了
解决方案五:
得先判断pageContext.getAttribute("file")是否为null,然后再做处理
解决方案六:
不要强制转String,这样会成null,可以用+“”实现
时间: 2024-08-30 20:10:15