struts2中应用ajax

6 篇文章 0 订阅
前台:
[code="java"][/code]
<script type="text/javascript">
function check(){
var name=document.getElementsByName("name");
alert(name);

var xmlhttp=null;
if(window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}else{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}

xmlhttp.onreadystatechange=function(){

if(xmlhttp.readyState==4 && xmlhttp.status==200){
var src=xmlhttp.responseText;
alert(src);
var json=eval('('+src+')');
alert(json.age);
document.getElementById("result").innerHTML=json.name;

}else{
document.getElementById("result").innerHTML="2";

}
}
xmlhttp.open("post","/struts2_test01/ajax.action",true);
xmlhttp.send();
}
2.后台:
a.<package name="/user" extends="struts-default,json-default">注意继承json-default
b.导入struts2-json-plugin-2.1.8.1.jar
c.struts.xml配置
<!-- json 返回stream test
<action name="ajax" class="com.yang.user.Login" method="ajaxMethod">
<result name="AJAX" type="stream">
<param name="contentType">text/plain</param>
<param name="inputName">isStream</param>
<param name="bufferSize">1024</param>
</result>
</action>
-->
<action name="ajax" class="com.yang.user.Login" method="ajaxMethod">
<result name="AJAX" type="json"></result>
</action>
d.public String ajaxMethod(){

HttpServletRequest request=ServletActionContext.getRequest();
HttpServletResponse response=ServletActionContext.getResponse();
ByteArrayOutputStream output=new ByteArrayOutputStream();
response.setCharacterEncoding("UTF-8");
response.setContentType(ContentType_JSON);
//1.test how to return a string
// String info="这是我的第一个AJAX测试!";
// try {
// output.write(info.getBytes("UTF-8"));
// this.isStream=new ByteArrayInputStream(output.toByteArray());
// }catch (IOException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }finally{
// try {
// output.close();
// } catch (IOException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// }
// return "AJAX";
//2.test how to return a json
JSONObject json1=new JSONObject();
JSONArray jsons=new JSONArray();
json1.put("name", "yangdingcai");
json1.put("age", 20);
jsons.add(json1);

JSONObject json2=new JSONObject();
json2.put("name", "yangdingcai");
json2.put("age", 20);
jsons.add(json2);
System.out.println("json="+json1.toString());
System.out.println("jsons="+jsons.toString());

try {
response.getWriter().write(json2.toString());
response.getWriter().flush();

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
response.getWriter().close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return "AJAX";
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值