* 1.将struts2-json-plugin.jar加入到项目中
* 2.使用AJAX向后台异步获取数据
$.post("order_ajaxGetGm",{"gtUuid":gtUuid},function(data){
...
});
$.post("order_ajaxGetGm",{"gtUuid":gtUuid},function(data){
...
});* 3.在Action中写一个 ajaxGetGm方法,该方法从Ajax中接收getUuid参数,进而从后台查找数据封装到List中,将要返回的数据提供getter方法,用于ajax回调函数接收该数据
public Long gtUuid;//接收Ajax传过来的参数
private List<GoodsModel> gmList;//返回的数据提供getter方法
private GoodsModel goodsModel;//返回的数据提供getter方法public String ajaxGetGm(){
gmList = goodsEbi.getAllByGtm(gtUuid);
gm = gmList.get(0);
return "ajaxGetGm";
}
* 4.设置对应的action所在的package,继承自json-default(json-default继承自struts-default)
<package name="default" namespace="/" extends="json-default"> <pre name="code" class="html"><result name="ajaxGetGm" type="json">
<param name="includeProperties">
gmList\[\d+\]\.uuid,//该表达式是正则表达式
gmList\[\d+\]\.name,
gm\.inPrice,
</param>
</result>
<pre name="code" class="html"><result name="ajaxGetGm" type="json">
<param name="includeProperties">
gmList\[\d+\]\.uuid,//该表达式是正则表达式
gmList\[\d+\]\.name,
gm\.inPrice,
</param>
</result>* 6.回调函数获取从后台得到的已经封装的json数据
$.post("order_ajaxGetGm",{"gtUuid":gtUuid},function(data){
var gmList = data.gmList;//struts将gmList已经封装为json格式的数据
var gm = data.gm; ....
});
本文介绍如何利用Struts2的JSON插件实现前后端数据交互。具体步骤包括:引入struts2-json-plugin.jar,使用AJAX获取数据,编写Action处理请求并返回JSON数据,配置Struts XML文件等。
247

被折叠的 条评论
为什么被折叠?



