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

QQ登录

只需一步,快速开始

查看: 1570|回复: 2

[结贴] baasServer中自定义action出错

[复制链接]

7

主题

15

帖子

41

积分

新手上路

Rank: 1

积分
41
QQ
发表于 2016-8-11 18:16:33 | 显示全部楼层 |阅读模式
1、在.w文件的js中调用baas请求,其中selectData是select控件绑定的data,自动加载代码如下:
  1.         var Model = function() {

  2.                 this.callParent();
  3.                 this.actionUrl = "/baas/takeoutAdmin/attachment/SimpleFileStore";
  4.                 alert("1");
  5. justep.Baas.sendRequest({
  6.                         "url" : "/KS/gan",
  7.                         "action" : "getUser",
  8.                         "async" : true,
  9.                         "success" : function(ret) {        this.comp('selectData').loadData(ret);
  10.                         }
  11.                 });
  12.                 alert("2");
  13.         };
复制代码


2、在baas下有个文件夹KS,里面有个gan.service.m文件,我在这个里面增加了一个action,其实现为:KS.Api.getUser;同时在KS目录下,有个Api.java文件,里面代码如下(使用数据库的名称为KS):
  1. package KS;
  2. import java.sql.Connection;
  3. import java.util.ArrayList;
  4. import java.util.List;

  5. import javax.naming.NamingException;

  6. import com.alibaba.fastjson.JSONObject;
  7. import com.justep.baas.action.ActionContext;
  8. import com.justep.baas.data.DataUtils;
  9. import com.justep.baas.data.Table;
  10. import com.justep.baas.data.Transform;
  11. import com.justep.baas.data.sql.SQLException;

  12. public class Api {
  13.         public static JSONObject getUser(JSONObject params, ActionContext context) throws SQLException, NamingException, java.sql.SQLException {
  14.                        
  15. //                        List<Object> sqlParams = new ArrayList<Object>();       
  16.                         Table table = null;
  17.                         Connection conn = context.getConnection("KS");
  18.                         System.out.println(conn);
  19.                         String sql = "";
  20.                         try{
  21.                                 sql = "SELECT distinct id FROM gan ";
  22.                                 table = DataUtils.queryData(conn, sql, null, null, null, null);                               
  23.                                 return Transform.tableToJson(table);
  24.                                
  25.                         } finally {
  26.                                 conn.close();
  27.                         }
  28.                 }
  29. }
复制代码


最后运行出了如下错误,请问大神们,这是怎么回事,求指点,O(∩_∩)O谢谢

java.lang.NullPointerException
        at com.justep.baas.servlet.BaasServlet.execService(Unknown Source)
        at com.justep.baas.servlet.BaasServlet.service(Unknown Source)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:745)
八月 11, 2016 6:06:40 下午 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet WeX5_Baas_Servlet threw exception
java.lang.NullPointerException
        at com.justep.baas.servlet.BaasServlet.execService(Unknown Source)
        at com.justep.baas.servlet.BaasServlet.service(Unknown Source)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:745)

7

主题

15

帖子

41

积分

新手上路

Rank: 1

积分
41
QQ
 楼主| 发表于 2016-8-12 08:47:09 | 显示全部楼层
自己探索出来了,原因是sendRequest里面五个参数缺一不可,我省掉了params,不过现在出现新的问题,我返回的是一个JsonObject,如何读取出其中一列呢,求教。
回复 支持 反对

使用道具 举报

7

主题

15

帖子

41

积分

新手上路

Rank: 1

积分
41
QQ
 楼主| 发表于 2016-8-12 10:50:52 | 显示全部楼层
自己探索出来了。

可以结题了。

谢谢。

  1. justep.Baas.sendRequest({
  2.                                 "url" : "/KS/gan",
  3.                                 "action" : "getUser",
  4.                                 "async" : false,
  5.                                 "params" : params,
  6.                                 "success" :function(ret)
  7.                                 {
  8.                                         for (var i = 0; i < ret.rows.length; i++)
  9.                                         {
  10.         //                                        data.setValue('exer',ret.rows[i].执行者.value);
  11.                                                 data.newData
  12.                                                 ({
  13.                                                         defaultValues:
  14.                                                         [{
  15.                                                                 fID : justep.UUID.createUUID(),
  16.                                                                 owner:ret.rows[i].执行者.value
  17.                                                         }]
  18.                                                 });
  19.                                         }
  20. //                                        data.first();
  21.                                 }
  22.                         });
复制代码
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-29 01:16 , Processed in 0.056806 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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