首先解释一下PrintWriter = response.getWriter(); wirte()是类PrintWriter提供的一个方法,是发送请求内容至页面,ajax常用到这个
response.write()是直接在页面输出内容
javascript如何获得后台response.getWriter().write()返回的值 用的struts2
这个你要用ajax才可以获得。
也就是说,在js里
1新建XMLHttpRequest对象(例如名为:xmlhttp)
2.XMLHttpRequest对象发送请求 :xmlhttp.open("GET","url",true);
注意里面的url就是你struts2跳转的action,例如test.action
3.通过struts.xml找到url跳转到的Action,在execute方法里写 response.getWriter().write("aaaaa");
Struts2获得Httpresponse对象会吧,要用ServletActionContext.getResponse(); (别忘了在execute方法最后加上一句return null ,作为execute方法的返回。)
4.在js后面里继续写: var resultstr = xmlhttp.responseText; 那么等异步传输完成,resultstr就会被赋值为"aaaaa"
我前面说的1,2,4步骤都是涉及ajax内容,如果对ajax不了解,需要先去学习ajax基础用法
实例:
后端:
if(count ==0){
response.getWriter().write("{failure:true,message:'0'}");
}else if(count == 1){
response.getWriter().write("{success:true,message:'1'}");
}else if(count ==2){
response.getWriter().write("{success:true,message:'2'}");
}
前端:
- 前台删除:
- Ext.Ajax.request({
- method:'POST',
- url:'',
- success:function(response){
- var result = Ext.decode(response.responseText);
- if(result.message=='0')
-
- Ext.Msg.alert("信息提示", " 00000");
- },
- failure:function(response){
- var result = Ext.decode(response.responseText);
-
- if( result.message== "1"){
- Ext.Msg.alert("信息提示", " 11111");
- }else if(result.message == "2"){
- Ext.Msg.alert("信息提示", " 22222");
- }
- }
- });