Struts中的Ajax请求

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 >

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值