struts2使用json插件

本文介绍了如何在Struts2中使用JSON插件进行Ajax请求和响应。首先,需要导入JSON插件的jar包,并在配置文件中配置继承`json-default`的action。然后,在action中配置`result`类型为`json`,指定返回值栈中的`map`数据。接着,展示了一个JavaScript示例,用于发送Ajax请求并处理服务器返回的JSON数据。在服务器端,当密码修改成功或失败时,会创建一个`Map`并将结果信息放入,通过`ActionContext`返回给前端。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

首先,导入json插件的jar包

由于json-default继承自struts-default,故此处改写为继承 json-default

此处是action的配置信息

<action name="saveP" class="myaction.LoginAction" method="upD">
        <!-- 返回json -->
            <result name="success" type="json">
            <!--配置root参数,指定将值栈哪个数据返回  -->
            <param name="root">map</param>
            </result>

</action>

接下来发送Ajax请求,检验返回结果 

<script type="text/javascript">
    var name;
        function modiU(u){
            $('#win').window('open')
            name = u;
        }
        $(function(){ 
        $('#btn2').click(function(){
            $('#win').window('close')
        })
        $('#btn1').click(function(){
        var pwd1 = $('#pw1').val()
        var pwd2 = $('#pw2').val()
        if($.trim(pwd1)==''||$.trim(pwd2)==''){
            $.messager.alert('警告','密码不能为空!','warning')
            return;
        }else if(pwd1!=pwd2){
            $.messager.alert('警告','两次密码不一致!','warning')
            return;
        }else{
            //ajax异步处理
            $.post("${pageContext.request.contextPath}/saveP.action",{"username":name,"password":pwd2},function(data){
                if(data.result == "success"){
                    $.messager.alert('提示',data.msg,'info')
                }else{
                    $.messager.alert('警告',data.msg,'warning')
                }
            });
                $('#win').window('close')
        }
         }) 
     }) 
        </script>

服务器端响应代码 

//更改密码
    public String upD() throws Exception{
        
        try {
            //修改成功
        UserDao.moDify(u.getUsername(), password);
        Map<String,Object> map = new HashMap<String,Object>();
        map.put("result", "success");
        map.put("msg", "恭喜您,修改成功!");
        ActionContext.getContext().put("map", map);
        }catch (Exception e) {
            //修改失败
            Map<String,Object> map = new HashMap<String,Object>();
            map.put("result", "failure");
            map.put("msg", "对不起,您的密码修改失败!");
            //压入值栈
            ActionContext.getContext().put("map", map);
        }
        list=UserDao.getMany();    //获取全部用户
        return SUCCESS;
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值