Struts2框架简单的AJAX应用

1 篇文章 0 订阅
1 篇文章 0 订阅

    新人,在Struts2项目中需要实现一个下拉框联动,网上查了一下,基本上全是jquery+json,因为太菜,所以看得很晕,最后用最原始的方法解决了。项目结束有两天空闲,总结一下,项目代码不能贴出来,自己又随便写了一个,放在微博里记录一下,存在什么问题也请大家指正。

 

GET类型

JSP端JS

function selectChange() {
        // + new Date().getTime() 防止浏览器缓存 
        var url = "/Curiosity/Curiosity/testAjaxcommonAjax.action?selectNum=1&selectType=single&t=" + new Date().getTime();
        var xmlhttp;
        if (window.XMLHttpRequest)
        {
            xmlhttp=new XMLHttpRequest();
        }
        else
        {// IE6, IE5不支持XMLHttpRequest
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttp.onreadystatechange=function()
        {
            if (xmlhttp.readyState==4 && xmlhttp.status==200)
            {//返回值处理部分
                document.getElementById("showDiv").innerHTML=xmlhttp.responseText;
            }
        };
        xmlhttp.open("GET", url, true);
        xmlhttp.send();
}

JAVA端取参数

    public String testAjaxMethod() throws IOException {
        String result = "AJAX请求已收到";
        HttpServletRequest request = ServletActionContext.getRequest();// ServletActionContext Struts2提供的取上下文的方法  
        String selectNum = (String) request.getParameter("selectNum");
        String selectType = (String) request.getParameter("selectType");
        result = result + selectNum + selectType;
        ServletActionContext.getResponse().setContentType("text/html;charset=utf-8");
        ServletActionContext.getResponse().getWriter().print(result);
        return null;
    }


POST类型

JSP端JS

function selectChange() {
        var url = "/Curiosity/Curiosity/testAjaxcommonAjax.action?t=" + new Date().getTime();
        var xmlhttp;
        if (window.XMLHttpRequest)
        {
            xmlhttp=new XMLHttpRequest();
        }
        else
        {// IE6, IE5不支持XMLHttpRequest
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttp.onreadystatechange=function()
        {
            if (xmlhttp.readyState==4 && xmlhttp.status==200)
            {//返回值处理部分
                document.getElementById("showDiv").innerHTML=xmlhttp.responseText;
            }
        };
        xmlhttp.open("POST", url, true);
        xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
        xmlhttp.send("selectNum=1&selectType=single");
}



JAVA端

    private String selectNum;

    private String selectType;

    public String getSelectNum() {
        return selectNum;
    }

    public void setSelectNum(String selectNum) {
        this.selectNum = selectNum;
    }

    public String getSelectType() {
        return selectType;
    }

    public void setSelectType(String selectType) {
        this.selectType = selectType;
    }

    public String testAjaxMethod() throws IOException {
        String result = "AJAX请求已收到";
        result += this.selectNum + this.selectType; // Struts2 自动把POST提交的参数放到Action里,定义好变量,写好GET、SET方法就可以了
        ServletActionContext.getResponse().setContentType("text/html;charset=utf-8");
        ServletActionContext.getResponse().getWriter().print(result);
        return null;
    }


ServletActionContext.getResponse().setContentType("text/html;charset=utf-8");

我的前台页面使用的是utf-8,这一句可以保证返回的中文没有乱码!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值