您的位置:首页 > 编程语言 > Java开发

Struts中的Ajax请求

2017-03-01 21:59 190 查看
3种方式

1.直接使用response对象进行内容的输出

2.在action中提供一个流对象 ,把内容放入流中

publicclass
AjaxByStrutsInputStreamActionextendsActionSupport {
        privateInputStream
inputStream;
        publicInputStream getInputStream() {
            returninputStream;
        }
        public
String test(){
           
inputStream=new
StringBufferInputStream("sram");//将内容放入流中
            returnSUCCESS;
        }
}
在struts.xml文件中为 这个action 的方法配置一个流对象  result的返回类型改为stream

<action
name="test"method="test"class="com.sram.actions.AjaxByStrutsInputStreamAction">
       <result
type="stream">//表示的访问action返回内容的类型是流
          
<param name="inputName">inputStream</param>//指定读取内容的对象
       </result>
     </action>

3
依赖于struts中的自带插件

Struts中自带的有一个插件,此插件是专门用来处理json数据的,也可以做出Ajax请求的响应:struts2-json-plugin-2.3.15.1.jar, 注意版本问题
后台java代码

publicclass
AjaxByPluginActionextendsActionSupport{
    privateString
result;//负责传输数据内容的
    public
String testAjax(){
        Useruser=newUser("张三","123","123");
        this.result=newGson().toJson(user);//返回json格式的数据
        return"success";
    }
    publicvoidsetResult(String result) {
        this.result= result;
    }
    publicString getResult() {
        returnresult;
    }
}
struts.xml 配置文件中  注意 这个包 extends 的是 json-default   result结果的返回类型为json

<package
name="testjson"namespace="/"extends="json-default">
      
<action name="plug"method="testAjax"class="com.sram.actions.AjaxByPluginAction">
              <result
type="json">
                  
<paramname="root">result</param>//
这里result表示 java代码中result接收的数据

                </result>
      
</action>
    </package>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: