Struts-json小知识

来源:互联网 发布:阿里云数据库实时备份 编辑:程序博客网 时间:2024/05/16 12:46

在使用struts提供的json插件来完成ajax操作注意事项:

1.首先要导入相应版本的jar

例如:struts2-json-plugin-2.3.24.jar

2.将struts.xml文件中的<packagename="" namespace=""extends="struts-default"/>修改为<packagename="" namespace="" extends="json-default"/>

3.将action的返回视图设置为<action name=""type="json"></action>

4.如果配置了以上两步,那么struts框架会自动将valuestack中的值压入到栈顶。

5.在进行相应代码的编写过程中,action的编写过程中,需要以下语句:ActionContext.getContext().getValueStack().set("list",list);

如果压入栈中的数据是一个list集合,那么它的格式如下:



$(function(){

$("#a").toggle(function(){

//想服务器发送请求获取商品

$.post("${pageContext.request.contextPath}/strutsjson",function(data){

var html = "<tableborder='1px'><tr><td>编号</td><td>名称</td><td>价格</td></tr>";

for(vari=0;i<data.length;i++){

html+="<tr><td>"+data[i].id+"</td><td>"+data[i].name+"</td><td>"+data[i].price+"</td></tr>";

}

html+= "</table>";

$("#d").html(html);

},"json");

},function(){

$("#id").html("");

})

})

 

没有设置root前返回的json结果形式如上,list:[{},{}],而这种形式在前端页面进行取值的时候会接受不到,出现以下情形


设置root后返回的json结果形式为[{},{}],具体代码如下:

<action name="" class=""method="">

<result name="success"type="json">

<param name="root">list</param>

</result>

</action>

经过以上设置后,现在就可以正常显示数据了



原创粉丝点击