微信小程序后mysql交互ssh_微信小程序前端与myeclipse的数据交换过程(SSH)

本文介绍了如何在微信小程序中实现与后端SSH框架的数据交换。通过在小程序端设置按钮,利用wx.request进行HTTP请求,与部署在Tomcat服务器上的后端进行交互。后端使用MyEclipse2014开发,通过abroadCollegeAction类处理请求,返回模拟数据。通过Gson将数据转换为JSON,供小程序接收。整个过程包括获取数据和提交数据到后台的示例。
摘要由CSDN通过智能技术生成

这是我个人探究微信小程序前端与后端之间的数据交换的过程,再结合个人所学的SSH框架,

编程工具用myEclipse2014工具。当然,前提是后台的项目要部署到tomcat服务器上才行,

然后总结了从后台获取数据和从前端读取数据存放到数据库的两个过程,

大家可以参考、学习一下,看代码:

首先,在微信小程序的界面中,先设两个按钮:如下图所示:

ab326f371623546bebaf6faf8ac4d361.png

代码如下:

点击发起请求

姓名:{{item}}

提交请求

然后,在js文件中编写houduanButton1和houduanButton2这个按钮事件,代码如下:

Page({

data: {

list:''},

houduanButton1:function() {var that = this;

wx.request({//这个url是指在eclipse中com.international.action文件下的abroadCollegeAction类的方法getUser()

//类似于ajax的url调用action的方式

url: 'http://localhost:8080/Graduate/com/international/action/abroadCollegeAction!getUser',

method:'post', //请求的的方式,有post和get两种方式

header: {'content-type': 'application/json' //把数据转换为json类型数据默认值

},

success:function(res) {var list = res.data.list; //获取从eclipse中返回的map("list",list)数据

console.log(res.data)if (list == null) {var toastText = '数据获取失败';

wx.showToast({//如果获取的数据是null,就会提示获取数据失败

title: toastText,

icon:'success',

duration:2000});

}else{

that.setData({//把获取到的值赋值给list

list: list

})

}

}

})

},

houduanButton2:function() {var that =this;

console.log("提交的list:" + that.data.list)//打印到控制台

wx.request({//这个url是指在eclipse中com.international.action文件下的abroadCollegeAction类的方法getUser()

//类似于ajax的url调用action的方式

url: 'http://localhost:8080/Graduate/com/international/action/abroadCollegeAction!getUsers',

data: { listUser: that.data.list },//传递数据给eclipse中com.international.action文件下的

//abroadCollegeAction类的数列listUser

method: 'post', //请求的的方式,有post和get两种方式

header:{'content-type': 'application/x-www-form-urlencoded' //传数据给后台的时候是必加的,不然传递给后端的值为null

},

success:function(res){var message =res.data;

wx.showToast({

title:'提交成功',

icon:'success',

duration:2000});

}

})

}

});

然后回到eclipse中,在com.international.action文件下的abroadCollegeAction类中新建两个方法getUser()和getUsers(),这里并没有连接数据库,因为我本人觉得,如果可以获取到数据,

那么从数据库中提取数据就是很简单的事情了,所有就新建了一个list来存放数据,代码如下

packagecom.international.action;importjava.io.IOException;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importjavax.servlet.http.HttpServletRequest;importorg.apache.struts2.ServletActionContext;importcom.international.model.abroadCollege;importcom.international.model.internationalClass;importcom.international.service.abroadCollegeService;importcom.international.service.pagingService;importcom.international.service.studentService;importcom.opensymphony.xwork2.ActionContext;importcom.opensymphony.xwork2.ActionSupport;public class abroadCollegeAction extendsActionSupport {

List listUser; //测试微信小程序的list

public ListgetListUser() {returnlistUser;

}public void setListUser(ListlistUser) {this.listUser =listUser;

}public void getUser() throwsIOException{

System.out.println("微信小程序正在调用。。。");

Map map = new HashMap();

List list = new ArrayList();

list.add("zhangsan");

list.add("lisi");

list.add("wanger");

list.add("mazi");

map.put("list",list);

System.out.println("微信小程序调用完成。。。");try{

ajaxAction.toJson(ServletActionContext.getResponse(),map);

}catch(Exception e) {//TODO Auto-generated catch block

e.printStackTrace();

}

}public void getUsers() throwsIOException{

System.out.println("提交的数据是:"+listUser);

String message="提交成功";

ajaxAction.toJson(ServletActionContext.getResponse(),message);

}

}

接下来,也就是最重要的一步,就是把list里的数据转换为json数据,微信小程序才能够获取到,否则微信小程序获取到的数据为空,代码如下:

我自己把转换为json数据的逻辑写成一个类,封装起来,方便调用,希望也能方便大家.

packagecom.international.action;importjava.io.IOException;importjava.io.PrintWriter;importjavax.servlet.http.HttpServletResponse;importcom.google.gson.Gson;importcom.international.model.internationalStudent;public classajaxAction {public static voidtoJson(HttpServletResponse response, Object data)throwsIOException {

Gson gson= newGson();

String result=gson.toJson(data);

response.setContentType("text/json; charset=utf-8");

response.setHeader("Cache-Control", "no-cache"); //取消浏览器缓存

PrintWriter out =response.getWriter();

out.print(result);

out.flush();

out.close();

}

}

这就大功告成了,如果有不足之处,希望大家多包涵。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值