`
kang
  • 浏览: 465073 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

NBS编码小结1

    博客分类:
  • NBS
阅读更多

 

千万注意:对象非空的判断一定要时时刻刻注意!否则极有可能抛出空指针异常。吃过这个苦头,以后就更要注意了。

 -》空指针异常,恐怕是Java编码中最常见的异常了。(20090512追加)

 

 

邮件文本转换中遇到的问题:

 

 

问题 1

this. *** MessageDao 为空 原来,需要在 ManagerFacadeImpl 类的初始化方法中添加相应的 set语句。

比如,想在邮件管理中使用 *** MessageDao 的话,就添加如下语句: mailManager.setBbsMessageDao( *** MessageDao);

-》 ManagerFacadeImp是门面模式,在这里面可以进行各种初始化工作(比如***DAO),这样,别的地方想使用( ***DAO )的话,可以直接拿来就用。(20090512追加)

 

 

问题 2 :截获到的异常信息: Transform of class jp.co.intra_mart.***.yyy not supported

原因:虽然在类 M Data 中,使用了 yyy (被 M Data 作为成员变量使用), 已经 加了注解,

    @Element (name = " yyy " , required = false )

    private YYY yyy ; 
 

但是在 YYY 类中,没有对想使用的属性加上注解。

修改如下:

           @Element(name = "title", required = false )

           private String title ; 
 

 

问题 3 java.lang.reflect.InvocationTargetException

导致这个异常的原因是空指针异常,原来是属性创建时间为 null 了。

解决方案:添加非空的判断和处理,如下所示:

    @Element (name = "created_date" , required = false )

    public String getCreatedDateString() {

        Date d = getCreatedDate();

        if (d != null ) {

            return dateFormat .format(d);

        } else {

            return null ;

        }

    } 
 

 

 

PropertyNotFoundException

具体异常信息: Caused by: javax.el.PropertyNotFoundException : 'minRang' is an unknown bean property of 'jp.co.intra_mart. **** . **** l'

原因: JSP 文件中对应属性名写错了( Bean 文件中的属性名和 JSP 文件中的对应属性名不一致)。

 

 

 

javax.servlet.jsp.JspException: org.apache.struts.taglib.html.BEAN という名前の bean のプロパティ mailSendType に対するゲッターメソッドがありません

这个异常的意思是:mailSendType这个属性没有写 get 方法。

 

 

 

问题现象:设置了断点, debug 却进不去。

解决过程:首先确认了服务器是以 debug 方式启动的,再调查:最外层的调用代码( Action 中)被注释了。

 

 

 

问题现象:往 list 中插对象,该对象确实非空,却报了空指针异常

原因: list 本身为空了。

-》按道理讲,往list中插入对象,即使被插入的对象是空时,应该也不至于会报空指针异常这种错误。(20090512追加)

 

 

 

建案件的画面进不去(直接跳到了错误页面),不要纠缠于页面。找到对应的 Action ,设置断点, debug 发现,每次都跳入 token 处理段(防止二次重复提交的),原来是同事在对应前一个问题(防止二次重复提交)时引起了这个问题。

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics