WeX5学习笔记之调用后端服务

我们想要在后端调用自己的action及java方法,就需要导入baasServer!


一、后端服务模型Baas

1、切换到java视图, 导入runtime下的BaasServer

1)、切换到java视图,在空白处右键,导入;

2)、选择常规,现有项目到工作空间中,点击浏览,默认定位到studio下,选择runtime下的BaasServer,完成;


2、在首选项中,设置以调试模式启动tomcat,设置BaasServer为源文件路径

选择窗口首选项,Studio配置下的Tomcat,去掉“不以调试模式启动tomcat”前面的对勾,去掉“自动设置源文件目录”前面的对勾,勾选上BaasServer,确定;


3、新建java方法

1)、切回到stuido视图

2)、在应用上(我的是qb)点击右键,新建java文件(这里要注意的是类名首字母必须大写且类名必须与服务名称相同,我的服务名称为“erp.service.m”,所以类名必须为“Erp”);

3)、在方法里输入“baasjava”,然后敲“alt+/”,就是我们要的方法:

public static JSONObject getCount(JSONObject params, ActionContext context) throws SQLException, NamingException {
        return null;

}

再敲“Ctrl+shift+o”,将我们需要的包导入;

4)、编写测试语句“System.out.println("123456");”,看是否走了该方法;


4、新建action,关联java方法

在服务(erp.service.m)中,新建一个action,点击新建按钮,起名为getWpxxCount,将类中的方法名同样改为getWpxxCount,在实现输入框中输入类名点方法名(Erp.getWpxxCount)就将action与方法关联了。(这里需要注意的是不要建多余的action,这样会导致下一步模型编译(调试模式)出错

action准备好了之后,前台页面就可以调用了


5、模型编译(调试模式)

在Baas上右键,点击模型编译(调试模式)


二、前端页面模型UI2

通过justep.Baas.sendRequest调用action

1、在index.w文件中添加一个button,在button的onClick事件中使用“justep.Baas.sendRequest”调用后端方法,敲baassend alt+/ ,生成如下代码:

justep.Baas.sendRequest({
            "url" : "/qb/erp",//qb是你建的应用,erp是你的服务
            "action" : "getWpxxCount",//你的action名称
            "async" : false,//不是异步的(也就是同步的)
            "params" : {"abc":"123"},//参数为json格式
            "success" : function(data) {
                //data是后台返回的一个json对象
                alert(data.count);
            }

});

2、后台java代码

public static JSONObject getWpxxCount(JSONObject params, ActionContext context) throws SQLException, NamingException {
        //接收操作 接收前台传递的参数
        String abc=params.getString("abc");//获取前台传递的参数
        System.out.println("--------"+abc);
        
        //返回操作  定义JSONObject对象
        JSONObject result=new JSONObject();
        result.put("count", 999);
        return result;

}

这里要注意的是:修改java代码后要重新点击“模型编译(调试模式)”,如果tomcat启动的时候点过“模型编译”,那么此时(想用“模型编译(调试模式)”)就要先关闭tomcat,重新启动,然后再次点击“模型编译(调试模式)”才能生效。也就是说从“模型编译”到“模型编译(调试模式)”要重启tomcat。


至此,调用后端服务,前台传参,后台返回就完成了。

你可能感兴趣的:(WeX5学习笔记之调用后端服务)