cohenchen 2015-08-03 09:31 采纳率: 0%
浏览 5743

$('#form1').serialize()的问题

 <body>  
    <div id="chart" style="width: 580px;height: 420px;margin: 0 auto;border: 1px solid gray;"></div> 
    <div>
        <form id="form1"name="form1" method="get" onSubmit="queryall();">
        <fieldset>
             <legend>查询条件</legend>
        日期:<input type="text" name="DeviceStatus.date" />
            班次:<input type="text" name="DeviceStatus.shiftWork" />
         生产线:<input type="text" name="DeviceStatus.line" />
            <input type="submit" name="查询" value="submit">   
             </fieldset>
        </form> 
    </div> 
    <script type="text/javascript" src="resource/js/jquery-1.8.3.min.js"></script>  
    <script type="text/javascript" src="resource/js/echarts-all.js"></script>  
     <script type="text/javascript">  
            jQuery(function queryall($) {
                var echart = echarts.init($("#chart")[0]);  
                var data1=$('#form1').serialize();
                var categories = [];  
                var values = [];  
                document.forms.form1.action = "deviceStatus_list";
                // 同步执行  
                $.ajaxSettings.async = false; 
                    $.getJSON('deviceStatus_list',data1,function (json) { 
                        console.info("wwwwwwwwwwwwwwwww");
                        categories = json.categories;  
                        values = json.values;  
                    });
                  console.info("aaaaaaaa");
                var option = {  
                    tooltip: {  
                        show: true  
                    },  
                    legend: {  
                        data: ['问题原因']  
                    },  
                    xAxis: [  
                        {  
                            type: 'category',  
                            data: categories  
                        }  
                    ],  
                    yAxis: [  
                        {  
                            type: 'value'  
                        }  
                    ],  
                    series: [  
                        {  
                            'name': '问题原因',  
                            'type': 'bar',  
                            'data': values  
                        }  
                    ]  
                };  
              echart.setOption(option);  
            });
    </script> 

</body>  




拼接sql的后台代码:
    //选择了生产线
        if(deviceStatus.getLine()!=null){
            sql.append(" and statu1.line =?");
            params.add(deviceStatus.getLine());
            System.out.println("-----dao--line----"+deviceStatus.getLine());
        }
        //选择了班次
        if(deviceStatus.getShiftWork()!=null){
            sql.append(" and statu1.shiftWork =?");
            params.add(deviceStatus.getShiftWork());
            System.out.println("-----dao--shift----"+deviceStatus.getShiftWork());
        }
        //选择了日期
        if(deviceStatus.getDate()!=null){
            sql.append(" and statu1.date =?");
            params.add(deviceStatus.getDate());
        }
        sql.append(" GROUP BY stop1.equipmentFailure");
        if(params.size()==0){
            list= this.getHibernateTemplate().find(sql.toString());
        }else{
            Query query=session.createQuery(sql.toString());
            query.setParameter(0, params.get(0));
            query.setParameter(1, params.get(1));
            query.setParameter(2,  params.get(2));
            list=query.list();
        }

``
在这里,我要将表单参数作为条件传入sql中,当有这个参数时,就拼接一条 sql。
但当我没有提交表单时会报错。debug了一下,,发现拼接sql时会去拼接“班次”和
“生产线”这两个条件下的sql。但此时,这两个条件应该为空啊。在action中打印

System.out.println("------------"+deviceStatus.getLine());
        System.out.println("------------"+deviceStatus.getShiftWork());
        System.out.println("------------"+deviceStatus.getDate());

时,deviceStatus.getLine()和deviceStatus.getShiftWork()没有输出。
deviceStatus.getDate()为null。


                                    求问怎么解决啊,,就是想在不选择条件的情况下,他就不拼接sql 。选择了条件就拼接对应的sql。
  • 写回答

1条回答 默认 最新

  • 睡觉不盖被 2015-08-26 09:23
    关注

    是不是漏掉了 ""空字符串的判断

    评论

报告相同问题?

悬赏问题

  • ¥15 如何修改pca中的feature函数
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况
  • ¥15 画两个图 python或R
  • ¥15 在线请求openmv与pixhawk 实现实时目标跟踪的具体通讯方法