struts2中action返回json时的配置(后面包含跨域时配置)

来源:互联网 发布:淘宝外卖优惠券怎么领 编辑:程序博客网 时间:2024/06/01 08:19

struts2中action返回json时的配置(后面包含跨域时配置)

本例是向数据库中读取一张表,在action中通过json返回前台页面并通过表格显示出来。

struts.xml配置

<package name="default" extends="struts-default,json-default" namespace="/">        <action name="user_*" class="userAction" method="{1}">             <result name="success" type="json">                <param name="root">list</param>            </result>        </action>   </package>

action.java代码

public class UserAction extends ActionSupport {    private UserService userService;    private List<User> list;    public String look() {        list = userService.lookUser();              return "success";    }    public List<User> getList() {        return list;    }    public void setList(List<User> list) {        this.list = list;    }    public UserService getUserService() {        return userService;    }    @Resource(name = "userServiceImpl")    public void setUserService(UserService userService) {        this.userService = userService;    }}

jsp中ajax接收代码

$.ajax({            type : "post",            url : "user_look",            async : false,            dataTyoe : "json",            success : function(data) {                  //测试一下,把json放入表格中                $.each(data, function(i, n) {                    var otd=$("<tr><td>"+n.id+"</td><td>"+n.userName+"</td><td>"+n.passWord+"</td><tr>");                    $("#tab2").append(otd);                });                         },            error : function(xhr, textState) {                alert("数据请求失败");            }        });

jsp中body测试代码

<table id="tab2">        <tr id="tr1">            <th>id</th>            <th>姓名</th>            <th>密码</th>        </tr>    </table>

跨域时
struts.xml中代码

<package name="default" extends="struts-default,json-default" namespace="/">        <action name="user_*" class="userAction" method="{1}">             <result name="success" type="json">                <param name="root">list</param>                <param name="callbackParameter">callback</param>                <param name="noCache">true</param>                               </result>        </action>               </package>

ajax中代码

$.ajax({                    type: "post",                    url: "http://127.0.0.1:8080/my_ssh_easyui2/user_look",                    dataType: "jsonp",                    jsonp: "callback",                    async: false,                    success: function(data) {                        setTtt(data);                    },                    error: function(xhr, textState) {                        alert("数据请求失败");                    }                });
原创粉丝点击