json用到的jar包有:commons-collections-3.2.jar,commons-lang-2.3.jar,ezmorph-1.0.3.jar,json-lib-2.1.jar,需要注意的是如果用到hibernate了,要把hibernate中的commons-collections.jar删掉,要不会有jar包冲突。
我写的是级联菜单:
jsp中:
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
$(document).ready( function() {
$("#sortid").change( function() {
var url = '${ctx}/product/productType.do?method=typeList';
var params = {
sortid:$("#sortid").val()
}
$.post(
url, //服务器要接受的url
params, //传递的参数
function cbf(data){ //服务器返回后执行的函数 参数 data保存的就是服务器发送到客户端的数据
$("#typeid option").remove();
var tempOption = document.createElement("option");
tempOption.value = "0"
tempOption.innerHTML = "请选择---";
$("#typeid").append(tempOption);
for(var i=0;i<data.length;i++){
var tempOption = document.createElement("option");
tempOption.value = data[i].typeid;
tempOption.innerHTML = data[i].name;
alert(item.name);
$("#typeid").append(tempOption);
}
},
'json' //数据传递的类型 json
);
});
});
</script>
<table >
<tr>
<td width="20%">产品分类名称</td>
<td align="left" width="30%">
<select name="sortid" id="sortid">
<c:forEach items="${sortMapList}" var="map" varStatus="i">
<option value="${map.sortid}" <c:if test="${map.sortid==checkedSortid}">selected</c:if>>${map.name}</option>
</c:forEach>
</select>
</td>
<td width="20%">产品类型名称</td>
<td align="left">
<select name="typeid" id="typeid" >
<option value="0">请选择---</option>
<c:forEach items="${typeList}" var="type" varStatus="i">
<option value="${type.typeid}"<c:if test="${type.typeid==typeid}">selected</c:if>>${type.name}</option>
</c:forEach>
</select>
</td>
</tr>
</table>
action中:
public ActionForward typeList(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response){
try {
DynaValidatorForm typeForm = (DynaValidatorForm) form;
int productSortid = typeForm.get("sortid")==null?0:(Integer)typeForm.get("sortid");
List<Type> typeList = this.productTypeService.TypeListBySortid(productSortid);
List<Map<String,Object>> list=new ArrayList<Map<String,Object>>();
for(int i=0;i< typeList.size();i++){
Map<String,Object> map = new HashMap<String,Object>();
int typeid = typeList.get(i).getTypeid();
map.put("typeid", typeid);
String name = typeList.get(i).getName();
map.put("name", name);
list.add(map);
}
JSONArray array = JSONArray.fromObject(list);
JSONArray ja = JSONArray.fromObject(array);
request.setAttribute("ja", ja);
response.setCharacterEncoding("UTF-8");
response.getWriter().write(ja.toString());
} catch (IOException e) {
e.printStackTrace();
}
return mapping.findForward("null");
}
这样就行了,呵呵!
分享到:
相关推荐
Struts2 与Jquery Ajax的json数据交换的典型范例
ajax struts jquery json 实现从数据库回调下拉菜单
Struts2 Jquery ajax Json实现的一个完整案例
struts2使用jquery整合ajax、json用户登录实例源码
json2+jsonplugin struts2整合ajax时,使用json时需要的jar包。。。。。。。。。。。。
Struts+Jquery+Ajax+Json应用实例,前端引入jquery,后台使用struts框架。前端js调用后台action,并将后台返回的json数据进行解析,设置web页面
struts2 jquery json ajax 三级联动菜单 可直接部署使用 需添加数据库查询代码
1、将struts2的json插件加入web工程的lib,jsonplugin的下载地址:http://code.google.com/p/jsonplugin/downloads/list
这圣思园张老师的一个上课演示文件,讲的是struts2+jquery+Ajax实现异步交互的简单例子。
使用JQuery传递数据到struts action ,并返回JSON对象数据,在JQuery回调函数解析数据的,Ajax异步处理的小测试
struts2+jQuery+json实现AJAX.zip
struts+jquery+json+ajax.pdf
一个简单的demo,实现了struts2+jquery执行ajax异步请求并返回json类型数据的实例,代码中附有注释,简单易懂。 基于eclipse开发,导入到eclipse即可运行。
struts2下通过jquery的ajax从后台传json对象并展示在web页面上的一个小例子,所需的jar包请自己下载否则无法运行,所需的包包括struts的必须包,json的支持包和struts对json的支持包
Struts2+JQuery+Json(Ajax) ajax异步加载对象数据
Struts2.1.8 AJAX 读取XML,GSON,jQuery JSON的案例.
这是前台用jsp页面,并应用jquery、easyui、ajax、struts2技术,以json数据格式传输的一个登录例子
Struts2+JQuery+JSON实现AJAX
基于 MVC 结构的 J2EE 应用服务器框架 —— apache ...客户端 jQuery ajax 提交表单至 struts2 的 action,action 调用 model,model 生成json返回至 action,再由 action 返回 json 至客户端,并由 jQuery 解析。
应用struts2 jquery json简单小例子。可编译,可执行,可看效果。注释很详细。包也很齐全。 1,表单提交。怎么来回传递值的(包括字符串,对象,集合),解析json。 2,ajax提交,操作字符串,对象,数组。