zoukankan      html  css  js  c++  java
  • DLBBS工作总结

    ① 列表页面
    当数据库没数据时列表页面展现正常,有数据时出错。
    原因:
    因为在DAO中数据字段映射的时候,没有让addField的字段和getSearchSQL中的一致
    如果字段前都加了表名,全部加表名。都加了模式名,全部加模式名。
    否则会出现获取的对象字段全部为null的现象。

    还有一点:在JSP页面获取vo的信息时,如果调用了一个subString(0,19)方法,且这个Vo获取的信息为null,那么会出现栈溢出,导致页面异常无法显示。
    如:
    有一个字段是发布时间,前台获取到List后循环遍历得到vo
    然后articleVO.getArticleTime().toString().substring(0, 19).
    此时,如果取得的时间为null,那么就相当于是null.toString().如果只是这里出错,那么只会出现空指针错误
    但是又调用了一个substring(0, 19)方法,所以会导致栈溢出。


    ② 详情页面
    出错提示信息:org.apache.jasper.JasperException: Exception in JSP: /jsp/show/showResourceDetail.jsp:112
    109:   for (int j = 0; j < attechList.size(); j++) {
    110:   %>
    111:   <%
    112:   TArtAttechNewVO avo = (TArtAttechNewVO) attechList.get(j);
    113:   %>

    java.lang.ClassCastException: com.icss.oa.show.vo.TArtAttachSearchVO

    原因:VO不一致
    在后台获取附件的VO是TArtAttachSearchVO。而在前台获取附件信息的时候,实例化的却是TArtAttechNewVO。
    VO不一致,导致JSP页面出错,因此错误代码定位到实例化TArtAttechNewVO这块。
    所以记住:一般出错为定位到某个VO,很大原因是因为前后台的VO不一致。


    出错2:点击进入之后,发现把所有的附件全部列出来了。

    分析:点击超链接后  控制台有一条sql语句
    发现sql语句中没有加上T_ARTICLE.ARTICLE_ID LIKE '某个articleId' 这个查询条件     
    然后查看servlet  发现已经setArticleId()了
    那么再查看DAO 发现错误点:没有设置查询子条件

    解决:在对应的DAO里面把where子句的条件加上

     if(articleId!=null && articleId !="" ) {
             sql.append(" AND  T_ARTICLE.ARTICLE_ID LIKE '%" + articleId + "%' ");
            }
      
      
    ③ 删除功能  
    删除的功能错误是因为:
    1)在我们的平台不能直接删除SearchVO。所以要分两步删除,第一步:根据获取的文章ID删除文章表里的文章信息。第二步:根据获取的附件ID删除附件表里的附件信息。
    2)执行删除方法之后要指定disk并跳转回列表页面[创建时也一样]。


    ④ 分页功能
    分页:是代码里自己实现的,pageNum*20  其中20 是指每页行数
    为了和平台一致,修改为13即可。


    ⑤ 下载功能
    下载功能不成功是因为:因为通过SearchVO和SearchDAO来找寻要下载的附件,而这样是无法找到相应的附件的,所以下载出错。
    解决:因为在新建资源的时候是先新建文章,再新建资源的。所以直接查找附件信息表就可以查找出当前附件了,这样就可以下载了。
    把相应的SearchDAO换成TArtAttechDAO,把SearchVO换成TArtAttechDVO即可。

    总结
    这次我最大的收获是学会了调试程序。
    看看调试时打印出的变量是否是逻辑上应该获取到的结果。如果不是,是哪一步出错了。
    特别是出现空指针的时候,更应该调试下程序,看下是因为哪一个变量为空导致的。

  • 相关阅读:
    C++11 学习总结
    平衡二叉树 (AVL) 笔记
    拼图模板
    2013.9.12
    2013.9.11
    2013.9.10
    2013.9.9
    下载网站
    ubuntu 安装codeblocks
    12个球称3次找坏球的完美解答
  • 原文地址:https://www.cnblogs.com/avivaye/p/2988271.html
Copyright © 2011-2022 走看看