起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10406|回复: 18

[结贴] 自定义的widget JSONObject data = obj.getJSONObject("data")是报错

[复制链接]

4

主题

26

帖子

84

积分

初级会员

Rank: 2

积分
84
发表于 2015-4-27 10:04:54 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
ie11
参照http://bbs.wex5.com/forum.php?mod=viewthread&tid=51078&extra=&page=3
做了个自定义的widget

可是这个j执行时出错
JSONObject obj=queryWaitTasks(request);是得到数据的 内容是对的
{"message":"","ext":"","flag":true,"stack":"","customer":"0","ver":"0","md5":"","code":"","reason":"","aCode":"","data":{"value":{"rows":[{"StartTime":{"changed":"0","value":"2015-04-23T14:58:00.000Z","originalValue":null},"TaskStateName":{"changed":"0","value":"执行中","originalValue":null},"Topic":{"changed":"0","value":"任务来了","originalValue":null},"t":{"changed":"0","value":"D54FBF4E9AE04A7DBC952F99D8CFC0B9","originalValue":null},"userdata":{"recordState":null},"Ratio":{"changed":"0","value":null,"originalValue":null}},{"StartTime":{"changed":"0","value":"2015-04-10T15:11:37.000Z","originalValue":null},"TaskStateName":{"changed":"0","value":"执行中","originalValue":null},"Topic":{"changed":"0","value":"第二个任务","originalValue":null},"t":{"changed":"0","value":"97A5762A0F984FF299DD09E6F0686E33","originalValue":null},"userdata":{"recordState":null},"Ratio":{"changed":"0","value":null,"originalValue":null}}],"@type":"table","userdata":{"relationTypes":"String,String,DateTime,String,Float","relationAlias":"t,Topic,StartTime,TaskStateName,Ratio","relations":"CRM_Task,CRM_Task.Topic,CRM_Task.StartTime,CRM_Task.TaskStateName,CRM_Task.Ratio","model":"/CRM/Common/data","updateMode":"whereVersion"}}},"guid":"0","messages":"[]"}

可是JSONObject data = obj.getJSONObject("data");就是报错
java.lang.ClassCastException: org.json.JSONObject$Null

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import com.justep.biz.client.Action;
import com.justep.biz.client.ActionEngine;
import com.justep.biz.client.ActionResult;
import com.justep.biz.client.ActionUtils;
import com.justep.ui.util.NetUtils;

public class MyTask extends com.justep.ui.impl.JProcessorImpl  {
         public static final String PROCESS = "/CRM/Common/process/Task/taskProcess";
         public static final String ACTIVITY = "mainActivity";
         private static final String QUERY_WAIT_TASK_ACTION = "MyTaskAction";
         
         @Override
         public void execute(HttpServletRequest request, HttpServletResponse response)
                 throws ServletException, IOException
         {
                 try
                 {
                         String executor= NetUtils.getExecutor(request);               
                         JSONObject obj=queryWaitTasks(request);
                        
                         response.setContentType("text/html;charset=utf-8");
                         response.setCharacterEncoding("utf-8");
                         PrintWriter pw = response.getWriter();
                        
                         //pw.println(obj);
                        
                        
                         JSONObject data = obj.getJSONObject("data");
                        
                         //pw.println("OK!!");
                        
                        
                        
                         JSONObject value=data.getJSONObject("value");
                         JSONArray array=value.getJSONArray("rows");
                         JSONObject rows=null;

                        
                        
                        

                         pw.println("<html>");
                         pw.println("<head>");
                         pw.println("<link rel='stylesheet' type='text/css' href='/x5/UI/CRM/js/lixiang.css'>");
                         pw.println("<script type='text/javascript' src='/x5/base/base.js' ></script>");
                         pw.println("<script type='text/javascript' src='/x5/form/form.js' ></script>");
                         pw.println("<script type='text/javascript' src='/x5/UI/CRM/js/lixiang.js'></script>");
                         pw.println("</head>");

                         pw.println("<body>");
                         pw.println("<table width='100%'>");

                         for(int i=0;i<array.length();i++)
                         {
                                 rows=array.getJSONObject(i);

                                 JSONObject sTopicObj=rows.getJSONObject("Topic");
                                 JSONObject sStartTimeObj=rows.getJSONObject("StartTime");
                                 JSONObject sTaskStateNameObj=rows.getJSONObject("TaskStateName");
                                 JSONObject sRatioObj=rows.getJSONObject("Ratio");
                                 JSONObject sTaskIDObj=rows.getJSONObject("t");

                                 String sTopic=(String) sTopicObj.get("value");
                                 String sStartTime=(String) sStartTimeObj.get("value");
                                 String sTaskStateName=(String) sTaskStateNameObj.get("value");
                                 String sRatio=(String) sRatioObj.get("value");
                                 String sTaskID=(String) sTaskIDObj.get("value");


                                 pw.println("<tr style='font-size:12px;'>");
                                 pw.println("<td style='width:12px;'>");

                                 pw.println("<img name='flagImg' src='/x5/UI/SA/task/taskView/images/dot.png'></img>");

                                 pw.println("</td>");
                                 pw.println("<td class='className'>");

                                 pw.print("<a href='javascript:void(0)' onclick=\"LMIS_OpenMyTask(\'");                                
                                 pw.print(sTopic);
                                 pw.print("\',\'");
                                 pw.print(sTaskID);
                                 pw.print("\',\'");
                                 pw.print(executor);
                                 pw.println("\')\">");
                                 pw.println(sTopic);
                                 pw.println("</a>");

                                 pw.println("</td>");

                                 pw.println("<td style='width:1px;'></td>");
                                 pw.println("<td class='className' style='width:61px;'>");
                                 pw.println(sTaskStateName+"("+sRatio+")");
                                 pw.println("</td>");
                                 pw.println("<td style='width:1px;'></td>");
                                 pw.println("<td class='className' style='width:63px;'>");
                                 pw.println(sStartTime.substring(0, 10));
                                 pw.println("</td>");
                                 pw.println("</tr>");

                         }

                         pw.println("</table>");
                         pw.println("</body>");
                         pw.println("</html>");



                 }
                 catch(JSONException e)
                 {
                         e.printStackTrace();
                 }
         }
        
        
         private JSONObject queryWaitTasks(HttpServletRequest request)
         {
                 Action action = new Action();
                 action.setProcess(PROCESS);
                 action.setActivity(ACTIVITY);
                 action.setName(QUERY_WAIT_TASK_ACTION);
                 action.setExecutor(NetUtils.getExecutor(request));
                 action.setExecuteContext(NetUtils.getExecuteContext(request));
                 String bsessionID = NetUtils.getBSessionID(request);
                 String language = NetUtils.getLanguage(request);
                 ActionResult ar = ActionEngine.invokeAction(action, ActionUtils.JSON_CONTENT_TYPE, bsessionID, language, null);
                 return (JSONObject) ar.getContent();
         }

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35918
发表于 2015-4-27 14:17:58 | 显示全部楼层
runtime\UIServer\WEB-INF\lib\json.jar加到构建路径中看看
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

4

主题

26

帖子

84

积分

初级会员

Rank: 2

积分
84
 楼主| 发表于 2015-4-27 14:46:03 | 显示全部楼层
path.jpg
是这样吗?但是没有变化,还是同样的错,
如果是构建路径的问题 JSONObject obj=queryWaitTasks(request); 似乎就不应该能得到数据吧?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35918
发表于 2015-4-27 17:35:34 | 显示全部楼层
UI上右键——属性中
jar.png
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

4

主题

26

帖子

84

积分

初级会员

Rank: 2

积分
84
 楼主| 发表于 2015-4-28 08:59:17 | 显示全部楼层
这里本来就有的啊
path2.jpg
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35918
发表于 2015-4-28 15:47:10 | 显示全部楼层
.j对应的java中加断点调试一下看看
java调试参考http://bbs.wex5.com/forum.php?mo ... 4&pid=164929261
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

4

主题

26

帖子

84

积分

初级会员

Rank: 2

积分
84
 楼主| 发表于 2015-5-7 09:10:55 | 显示全部楼层
该做都做了,就是无法调试!唉!
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35918
发表于 2015-5-7 15:07:42 | 显示全部楼层
lxg13 发表于 2015-5-7 09:10
该做都做了,就是无法调试!唉!

无法调试具体现象是什么?断点不会进入?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

4

主题

26

帖子

84

积分

初级会员

Rank: 2

积分
84
 楼主| 发表于 2015-5-13 14:21:41 | 显示全部楼层
断点不会进入!
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35918
发表于 2015-5-13 15:28:43 | 显示全部楼层
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-4-27 02:02 , Processed in 0.066699 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表