baasServer 的action中自定义sql语句查下的实现方法

1.参考/Baas/justep/demo.service.m 关于 queryUser 的定义 ,在sql属性中定义sql语句,可以是多表关联, 注意:action 配置的实现部分是 :action:common/CRUD/sqlQuery  (和其他默认配置action:common/CRUD/query 是有区别的) 如果有设置过滤条件,以及排序,可以参考:http://docs.wex5.com/wex5-server-question-list-2006/ 前端调用的代码参考:UI2/demo/baas/complexData/index.w   2.在java代码中自定义sql语句实现:/Baas/takeoutAdmin/Statistics.java,这个时候过滤条件等都是通过传递参数实现的!前端调用的代码参考:/UI2/demo/takeoutAdmin/statistics.js

java服务器baasServer 跨域访问设置

原因:如果想实现baasServer 不页面分开部署,或者访问多个不同服务器的baasServer,就需要设置可以跨域访问 解决方法: 跨域设置BaasServer\WEB-INF\web.xml      <init-param>        <param-name>Access-Control-Allow-Origin</param-name>        <param-value>*</param-value>      </init-param> js访问的时候可以直接使用平台baas就可以了! 不过调用Baas.sendRequest  以前 先设置一个变量参数 Baas.BASE_URL等于你的服务地址,比如justep.Baas.BASE_URL = http://ip:端口/baas;  

UIServer错误WINDOW编译出错, 文件”/UI2/v-nauAJf-zh_CN-/image/index.w”不存在

报错 UIServer错误 URI:/x5/UI2/v_4935_nol_zh_CNs_desktopd_pc/v-nauAJf-zh_CN-/image/index.w 错误码:500 错误信息: com.justep.ui.exception.UIException: 编码: JUSTEP000014; 提示: WINDOW编译出错, 文件"/UI2/v-nauAJf-zh_CN-/image/index.w"不存在 隐藏错误详细 原因:有可能是编辑APP,没有选择模式3打包,但是web路径写成了/x5开头的写法!这样就会优先访问UIServer 解决方案:如果是模式1,模式2打包web路径必要写/x5开头的字符串!如果是模式3打包!web路径尽量写成/x5/UI2

UIServer默认路径中的x5 修改为其他字符串

原因:UIServer默认访问的web路径是x5,如果想修改成其他字符串,比如x6,请参考如下! 解决方案: 一共修改了3个地方:把x5修改为x6 1.pache-tomcat\webapps\ROOT\index.html 2.新版本修改这个文件的:conf\server.xml,旧版本V3.2.1以前版本修改runtime\UIServer\WEB-INF\justep.xml 3.apache-tomcat\conf\Catalina\localhost\x5.xml,修改为x6.xml 重启服务!浏览器清空缓存就可以了!   开发模式下,设计器中也需要修改,首选项这里 也需要把x5改掉!然后重启studio!如图    

报错:数据库已经关闭或者数据源配置错误

服务器报错: com.justep.baas.action.ActionException: Action[justep/takeout/queryFood]执行失败, 获取数据库 连接失败,可能原因:数据库已经关闭或者数据源配置错误 原因:不是使用平台自己的mysql,而是自己安装的mysql数据库,驱动版本不匹配,导致连接数据库失败! 解决方法:mysql版本对应的驱动包,拷贝到现在的版本中,替换tomcat\lib下的mysql驱动

执行saveData方法 mysql 中是乱码

原因:自己配置的mysql数据库,查看正常,当执行baasData.saveData() 保存数据时,出现问题!数据库中存储的是乱码!,这个是因为数据库编码问题!我们WeX5平台使用的编码一律是UTF-8 解决方案: 在 mysql 的配置文件my.cnf(Linux 下在/etc 目录)中加入 character_set_server=utf8 lower_case_table_names=1

baas后端的sqlQuery action的sql语句中支持两种参数写法

原因:有些逻辑,比如多表关联,或者其他特殊sql语句需要自定义sql语句才能够解决,平台提供了sqlQuery action可以设置sql语句,传参有以下两种方式 解决方案: 1、:name----一个:的方式,这种是值参数,类似于我们通常的的sql中的?; 如:select * from abc where name=:name 前端设置通过data设置name='liming' data.filters.setVar("name",'liming'); 最终服务端按 select * from abc where name=?,'liming'执行 在baas设计器中设置条件,参考/Baas/justep/netease.service.m action queryNetease_user 定义了参数condition ,值为fID=:usera 添加参数 var-usera 前端设置 data.filters.setVar("usera",'123456'); 最终也会在标准的queryAction 中拼接这个where条件 2、::filter----两个::的方式,这种参数将会拼到sql中去 如:select * from a [...]