2 jerome66 jerome66 于 2015.07.28 06:12 提问

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> 

6个回答

zjq78577117
zjq78577117   2015.07.28 07:45
已采纳

pageContext.getAttribute("file"),有附件会返回一个值,如果没有,返回的是null,会抛出空指针异常

zjq78577117
zjq78577117 在调用.split(",")方法前,进行非空判断,if(pageContext.getAttribute("file") != null) { fileName = ((String)pageContext.getAttribute("file")).split(","); }
接近 3 年之前 回复
jerome66
jerome66 那请问应该怎么解决呢
接近 3 年之前 回复
CSDNXIAON
CSDNXIAON   2015.07.28 06:23

关于Android setOnclicklistener抛出空指针的问题
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

Evankaka
Evankaka   Ds   Rxr 2015.07.28 08:29

<%fileName = ((String)pageContext.getAttribute("file")).split(","); %>
<%=fileName.length %>
这些地方都 要做null值判断

beacon_2011
beacon_2011   Rxr 2015.07.28 08:53

打印一下,看看那个变量为空了

yuke198907
yuke198907   2015.07.28 08:59

得先判断pageContext.getAttribute("file")是否为null,然后再做处理

bengerai
bengerai   2015.07.28 09:12

不要强制转String,这样会成null,可以用+“”实现

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
servlet抛出空指针异常
servlet的空指针是由于jsp页面应用了null对象导致,里面的service方法抛出的异常。   遇到这种情况要及从错误里面捕捉异常抛出的原因,跟踪代码调试修复。   处理方式 1) 检查到对象为空时,设置对象值为空字符串或一个默认值;   处理方式 2) 检测到对象为空时,根本不执行某操作,直接跳转到其他处理中;        处理方式 3) 检查到对象为空时,提示用户操作
Java中如何处理空指针异常
英文原文地址:http://examples.javacodegeeks.com/java-basics/exceptions/java-lang-nullpointerexception-how-to-handle-null-pointer-exception/?utm_source=tuicool      在Java语言在,null被分配给一个对象的引用以表示对象指向未知数据块。当应用程序使
JAVA中的空指针异常(转载)
标签:  it 分类: Java java中的空指针异常java.lang.NullPointerException是最麻烦的,通过个人日常总结和网上搜集整理,归纳如下,供大家参考。 空指针异常产生的主要原因如下: (1)当一个对象不存在时又调用其方法会产生异常obj.method() // obj对象不存在 (2)当访问或修改一个对
Spring mvc 进行增删改查出现空指针异常
问题:Spring mvc 进行增删改查出现空指针异常原因:有两个service接口 只装配一个
常见空指针异常及其避免
出现在任何一个位置上的对象引用都有可能为 null,在进行访问,赋值,取值,类型转换等操作时,首先判断该对象是否为 null,否则极易抛出空指针异常; map.get(key) ⇒ 就有可能 key 不在 map 中; 避免的方法也十分简单,对返回值进行判断; 如果一个函数的返回值为对象的引用,该返回值也可能为空指针; 强制类型转换; 1. 规避手段 使用 object.equals(“test”
equals方法出现空指针异常
在写一个功能时,需要根据用户的类型,返回到不同的页面,当用户的类型为空时,则报空指针异常,写法如:if(xxx.getType().equals('XX')){xxx}, 此时需要将equals 写成if('xx'.equals(xxx.getType())),此时type为null或空也不会报错。
Jsp的空指针异常
org.apache.jasper.JasperException: java.lang.NullPointerException org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:549) org.apache.jasper.servlet.JspServletWrapp
JSP空指针异常问题
运行环境:MyEclipse 2016 CIJSP登陆页面用<jsp:forward page=URL>出现问题:HTTP Status 500 - /forward.jsp (line: 2117, column: 5) Expecting "jsp:param" standard action with "name" and "value" attributes type Exception r
线程问题:空指针异常
模拟个场景:    比如当前List里有5个IP,   当你的获取IP那个线程去取到一只有3个IP的list 然后赋值给你的全局List 这时你的List变成了3个,  但是当你刚取完数据库的同时 判断IP是否存在那个for循环刚好循环到第四个,  这时list已经改变为3了 马上就会报空指针错误了,这是经常会发生的事两个线程交差运行,当一个变量被2个线程同时使用的时候,去取值,很容易出问
Android中关于空指针异常的解决办法
笔者在开发安卓的过程中经常遇到空指针异常的情况:java.lang.NullPointerException 举个例子: public void onClick(View v) { // TODO 自动生成的方法存根 switch (v.getId()) { case R.id.button1: if (!isBind) {