zoukankan      html  css  js  c++  java
  • 页面错误毕业设计之错误集锦(六)

    PS:天今上午,非常郁闷,有很多简略基础的题问搞得我有些迷茫,哎,代码几天不写就忘。目前又不当COO,还是得用心记代码哦!

              貌似好几天都没有总结错误了,有两方面的原因,第一:万事开头难,前面会利顺很多,因此遇到的错误就少了;第二:前面遇到的题问一般都比较难,还没有束结。不过,估计前当会有很多错误的,先做好心理准备,这不天今就来了

            想做的好一点的统系,统计图表那是必须的,如果是用就是就是jsp做的话,那就简略了,jfreechart以来全搞定,但是........我现在是用ExtJs,想着客岁出的4.0版本自带图表功能,就不须要用第三方包了,于是下了一个ExtJs4.1版本,习学了一下图表的做法,发明也很简略的,于是就自己写了一个,谁想出乎我的料意啊,4.X版本居然不兼容2.X版本,呜呼.......这不是坑我吗,难道要让我推倒重来吗,显然不可能,看来只能旧调重弹,用第三方jar包了。这个不着急,先来看看其他的题问

        1.ExtJs和spring、hibernate起一时的分页题问

             之前做统系的时候没有涉及到分页,第一次做分页,第一应反就是select top ........,可是,oracle居然没有top句子,要用的话只能用其他语句替代了,看了一下太烦麻了,就想着直接在前台分页得了,可是貌似没胜利,好吧,这个时候然突发明用hibernate来做分页特殊简略,只须要区区3句代码,如下:

    Query q = session.createQuery("from table"); 
    q.setFirstResult(0); 
    q.setMaxResults(10); 
    List l = q.list();

        如果是有spring,dao继承自HibernateSupportDao的话,那就如下:

    /** 
     * 用使HQL语句停止分页查询作操 
     * offset 第一条录记的索引 
     * pageSize 每页须要示显的录记数 
     * @return 前当页的全部录记 
     */  
    public List findByPage(final String hql, final int offset, final int pageSize){  
        List list = getHibernateTemplate().executeFind(new HibernateCallback() {  
              
            public Object doInHibernate(Session session) throws HibernateException,  
                    SQLException {  
                List result = session.createQuery(hql).setFirstResult(offset)  
                                .setMaxResults(pageSize)  
                                .list();  
                return result;  
            }  
        });  
        return list;  
    }

        而extjs页面只须要这样

    /** 
     * 用使HQL语句停止分页查询作操 
     * offset 第一条录记的索引 
     * pageSize 每页须要示显的录记数 
     * @return 前当页的全部录记 
     */  
    public List findByPage(final String hql, final int offset, final int pageSize){  
        List list = getHibernateTemplate().executeFind(new HibernateCallback() {  
              
            public Object doInHibernate(Session session) throws HibernateException,  
                    SQLException {  
                List result = session.createQuery(hql).setFirstResult(offset)  
                                .setMaxResults(pageSize)  
                                .list();  
                return result;  
            }  
        });  
        return list;  
    }

        堡垒了,有木有,太壮大了,震动中................

        2.struts跳转问访jsp页面与直接问访jsp页面的别区

            之前做项目是为了加快速度,因此就跳过了登录模块,直接去求请index.jsp页面,功能都做的差不多的时候把登录模块和index页面整合到起一的时候现错出误了,之前心想着不就是struts跳转一下吗,结果做起来前当才发明,struts跳转从前前当index页面加载的货色都找不到,可是明显直接问访index页面的时候好好的,细心想了一下前当才发明,来原两者是有别区的,从struts跳转是从外到里加载件文,而直接问访index的话,是从里到外加载件文,点发出不同致使了路径不同

        3.DWR架框现出erro弹出框题问

            这两天毕业设计只剩下两个技巧难点了,一个是权限管理,一个是统计图表。对于权限管理,难点在于在js件文里取到权限值,一般用ajax以可就回返data,但是为了使自己的毕设有技巧含量,遂定决用采全新的dwr架框,这样也有挑战性一点,可谁曾想一个error弹出框居然花了我两天的时光,呜呼,这挑战性价代也太大了吧,不过还好总算是出来了,先祝庆一下哈!如下就是那个error弹出框所对应的的http响应(这里我想说的还是那句话,要动主去找错,就像此次,除了弹出一个error对话框以外,myeclipse没有存保,firefox没有报错,即使是用firebug,控制台什么的都没错,最后居然是在络网下的XHR里头的求请连接下响应里头才找到的,不容易啊,就这一个线索,居然会藏这么深,这是磨练我的程编教训哈)话废不说了,如下图所示

        页面和错误

            阅历了这个错误,发明自己对于百度和google的依赖性太强了,以至于有多个错误现出的时候没能分析错出误的根本原因,而是一股脑的就去百度或者google了,而且不巧的是,dwr这个架框的息信在络网上很限有,用汉语表述的就更少了,以至于只能直一头皮看英语的了。

        每日一道理
    岭上娇艳的鲜花,怎敌她美丽的容颜?山间清澈的小溪,怎比她纯洁的心灵?

            网上对于这个题问都会合在dwr和spring的结合上,时当我就在想,我不结合可以吗,我不就是想用一下吗,有要必这么烦麻吗?但是网上都这么说,再加上自己也没什么好方法,也就只能试一下了,废了好半天把dwr和spring结合在起一了,一行运,还是一样的error,续继索搜,结果有人说如果在spring总遇到了aop(面向切面程编),结合的时候又多出一些货色,好吧,那就这能再加货色吧,十分困难整合好了,一行运,还是那个悉熟的error,此时真有点失望了,一天就这样从前了,洗洗睡吧。

           天今早上起来,从新审阅这个题问的时候,发明自己有点“当局者迷了”,何不跳出前当的境困,静下心来想一想,而不是被络网所阁下想到这里,断果关掉索搜框,静静的看着这个错误,开始分析,既然弹出error,那么在什么地方发生这个error的呢,上图中很明显,javaClassName:java.lang.Throwable,message:error,而比对那些胜利的项目,这个地方现出的应该是你要得获的值,也就是说你的这个值现出题问了,而在程序当中值现出题问,非无两种情况,null和类型转换错出,既然这样,那我们就一一验试,首先测试了一下目标值,非空,再看类型,由于在oracle数据库中这个字段是列序的,为number类型,映射到java中就是bigdecimal,而这个值在java中不太见常,会不会是这儿错出了?那就直接转换成string类型得了,结果还是error,那就换成最见常的int吧,结果.....结果就没有error了,胜利了!这一刻不容易啊,写下来,记念一下。等等,然突发明自己return的时候经已定限成了integer类型,天啊,霎时觉感自己有多傻了,唉,时光经已浪费了,只能以此为教训了。

             话废不说了,上面就把置配dwr的进程写一下,做个备份吧

        第一步:dwr.jar(如果要与spring结合的话,还须要spring-web-servlet.jar)

        第二步:置配web.xml

    <!--dwr架框设置 -->
    	<servlet>
    		<servlet-name>dwr-invoker</servlet-name>
    		<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
    		<init-param>
    			<param-name>debug</param-name>
    			<param-value>true</param-value>
    		</init-param>
    	</servlet>
    
    	<servlet-mapping>
    		<servlet-name>dwr-invoker</servlet-name>
    		<url-pattern>/dwr/*</url-pattern>
    	</servlet-mapping>

        第三步:置配dwr.xml(一般与web.xml一同目录别级)

    <?xml version="1.0" encoding="UTF-8"?> 
    <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd">
    <dwr>
    	<allow>
    		<create javascript="Permission" creator="new">//这里的javascript是前当动主生成的js件文名,保持一致以可就了,
                                                                  //creator如果是和spring结合的话就选spring,name就是beanName了
    			<param name="class" value="com.shiep.dwr.Permission"></param>//如果和睦spring结合那就name是class了,
                                                                                         //value的话就是你要调用的java方法在所的类了
    		</create></allow>
    </dwr>

        第四步:编写上文提到的java方法

    package com.shiep.dwr;
    
    import javax.servlet.http.HttpSession;
    
    import org.springframework.context.ApplicationContext;
    
    public class Permission {
    
    	public int getIdRole(HttpSession session){
    		return (Integer) session.getAttribute("idRole");
    	}
    }

        第五步:html或者jsp页面引入dwr的js件文

    <script type='text/javascript' src='../dwr/interface/Permission.js'></script>//这里就是动主生成的js件文,名字与dwr.xml中的保持一致以可就了
    		<script type='text/javascript' src='../dwr/engine.js'></script>

        第六步:在js页面调用java方法

    var idRole;
    DWREngine.setAsync(false);
    Permission.getIdRole(load);
    DWREngine.setAsync(true);
    function load(data) {
    	idRole = data;	
    }
    alert(idRole);

        OK!至此一切搞定!

    文章结束给大家分享下程序员的一些笑话语录: Bphone之你们聊,我先走了!移动说:我在phone前加o,我叫o缝;苹果说:我在phone前i,我是i缝;微软说:我在phone前加w,我叫w缝;三星说:你们聊,我先走了!
    将来王建宙写回忆录的时候,一定要有一句“常小兵为中国移动的发展做出了不可磨灭的贡献”。

  • 相关阅读:
    仿QQ消息弹出框
    WPF,Silverlight与XAML读书笔记第十六 资源之二进制资源
    WPF,Silverlight与XAML读书笔记第十七 资源之逻辑资源
    WPF,Silverlight与XAML读书笔记第十 WPF框架与工作方式介绍
    WPF,Silverlight与XAML读书笔记第五 XAML与传统过程式代码的关系
    再谈ASP.NET第七 跨应用、跨服务器的表单验证
    WPF,Silverlight与XAML读书笔记第六 WPF新概念之一逻辑树与可视树
    WPF,Silverlight与XAML读书笔记第八 WPF新概念之三路由事件
    WPF,Silverlight与XAML读书笔记第十四 独立存储&部署
    WPF,Silverlight与XAML读书笔记第七 WPF新概念之二依赖属性
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3060109.html
Copyright © 2011-2022 走看看