Wex5中除了调用Bass提供的Action,我们有时候还会进行一些其他的操作,这就需要我们自定义Action。
以一个注册的表单为例:
1、先在UI2中设计好一个用户注册的表单:如图
在 注册 的按钮上面添加 onclick 事件 :
Model.prototype.regBtnClick = function(event){
var nserName = this.comp('nserName').val();
var password = this.comp('password').val();
var repassword = this.comp('repassword').val();
var email = this.comp('email').val();
justep.Baas.sendRequest({
"url" : "/action/action",
"action" : "addusers",
"async" : false,
"params" : {
"userName" : nserName,
"password" : password,
"repassword" : repassword,
"email" : email,
},
"success" : function(data) {
if(data.state==1){
alert("注册成功!!");
justep.Shell.showPage({url:"$UI/testDemo/main.w"});
}
}
});
}
2、在Bass中自定义action:
首先创建一个新的文件夹,在文件夹中创建一个新的服务,比如action.service.m;在文件中再创建一个java类,比如ComonAction,结构如图
在ComonAction创建一个用户注册的方法:
package action;
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.naming.NamingException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import com.alibaba.fastjson.JSONObject;
import com.justep.baas.action.ActionContext;
import com.justep.baas.data.DataUtils;
import com.justep.baas.data.Table;
import com.justep.baas.data.Transform;
public class ComonAction {
private static String DATASOURCE_BLSHOPAPP="mk1";
public static JSONObject addusers(JSONObject params, ActionContext context) throws SQLException, NamingException {
String username=params.getString("userName");
String password=params.getString("password");
String email=params.getString("email");
Connection conn = context.getConnection(DATASOURCE_BLSHOPAPP);
try{
JSONObject ret = new JSONObject();
java.sql.PreparedStatement pstmt = null;
pstmt = conn.prepareStatement("INSERT INTO t_users (UserName,Password,Email) VALUES(?,?,?)");
pstmt.setString(1,username);
pstmt.setString(2,password);
pstmt.setString(3, email);
pstmt.execute();
ret.put("state", "1");
return ret;
} finally {
conn.close();
}
}
}
在action.service.m中添加新建的类: