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

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("数据请求失败");
                    }
                });
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值