Struts2+jQuery+ajax+json示例

struts2+jquery+json+ajax的应用,先记下了,以后备用。
1.环境
jquery:jquery-1.6.2.min.js
struts2:基本包就不说了,就说说应用json的包,主要有struts2-json-plugin-2.2.1.1.jar
json:json的包主要是json-lib-2.4-jdk15.jar,此外还有几个依懒包,这些包和struts2的包很多都重复,引入时需要注意
commons-beanutils-1.8.3.jar,
commons-collections-3.2.1.jar,
commons-logging-1.1.1.jar,
commons-logging-1.1.1.jar,
ezmorph-1.0.6.jar
2 示例
在这里,以一个动态生成的下拉框为例。
2.1 Action:主要的代码
 private String jsonResult;
public String ajaxAllNames(){
jsonResult = categoryManager.getAllCategoryName();
return SUCCESS;
}

2.2 getAllCategoryName()的主要代码:
public String getAllCategoryName(){
List<String> names = toolCategoryDao.getAllNames("select name From ToolCategory t");
return JSONArray.fromObject(names).toString();
}

toolCategoryDao就是spring的hibernateTemplate进行CRUD的简单封装。
2.3 struts.xml
<package name="ajax" namespace="/" [color=red]extends="json-default">[/color]		<action name="ajaxCategoryName" class="com.wildrain.stm.action.ToolCategoryAction" method="ajaxAllNames">
<result type="json">
<param name="root">jsonResult</param>
</result>
</action>
</package>

需要注意的是,当返回的数据是json的时候,你的action的package要继承json-default。这个是东东在struts2-json-plugin-2.2.1.1.jar里面。
2.3 下面可以来看看前端JSP和jQuery了
2.3.1JSP很简单
测试:<select id="se"></select>

2.3.2jquery
$( function() { 
var url = 'ajaxCategoryName.action';

//使用$.post方式
$.post( url, //服务器要接受的url
dealData,
'json' //数据传递的类型 json
});
tion dealData(data){
alert(data);
var tool = eval("("+data+")");
hasDataToDeal2(tool);
}

function hasDataToDeal2(data){
var se = $("#se");
$.each(data, function() {
var opt = "<option value="+this+" >"+this+"</option>";
se.append(opt);
//alert(this);
});
}

3.运行效果
见附件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值