Structs has detected an unhandled exception

今天算倒霉了,用maven写的一个项目,竟然出现了以下低级的错误,在用ajax修改密码时,回调的数据竟然是以下的东东。。。。

**************************************************************************************

$.post("${pageContext.request.contextPath}/user_editPassword",{password:NewPass},function(data){
               alert("ajax返回值:"+data);
               if(data.result == "success"){
                  $.messager.alert("成功提示",data.msg,"info");
               }else{
                  $.messager.alert("失败提示",data.msg,"error");
               }
               $("#editPwdWindow").window("close");
         });

**********************************************

这里引用了struts2-json-plugin包

json-default继承了struts-default

<!-- 修改密码 -->

<package name="needlogin" extends="json-default">
        <action name="user_*" class="userAction" method="{1}">
            <!-- 修改密码 -->
            <result name="editPasswordSuccess" type="json">
                <param name="root">map</param>
            </result>
        </action>

</package>

******************************************************************************

private String editPassword() {
        User loginUser = (User) ServletActionContext.getRequest().getSession().getAttribute("user");
        user.setId(loginUser.getId());
      //  通过用户id修改密码,如果修改不成功会抛异常      
        Map<String,Object> map=new HashMap<String,Object>();
        try {
          //修改成功
          System.out.println(user.getPassword());
          userService.editPassword(user);
           map.put("result", "success");
           map.put("msg", "修改成功");
           ActionContext.getContext().put("map", map);
    } catch (Exception e) {
         //修改失败
         map.put("result", "false");
           map.put("msg", "修改失败,请查找原因"+ e.getMessage());
           ActionContext.getContext().put("map", map);
    }
       
        return "editPasswordSuccess";
    }

*******************************************

这个问题找了很久,ajax一直访问不到UserAction这个类,检查了strut.xml,applicationContext.xml的配置,没问题

在检查ajax的访问路径,也没有问题,用firebug清楚能看到访问的路径,就是最后到action类的方法时就访问不了,

然后,就检查这个方法,很扎心

原来是这个方法我使用了private,恍然大悟

这就是访问不到的原因,把private改为public,然后就成功了!!!!

ajax第二种常见错误

$.ajax({
type: 'POST',
url: url,
data: data,
success: success,
dataType: dataType
}); 常常容易忽略的错误是:data发送的数据时json字符串,而不是json数据 ==>> data:'{key1:value1,key2,value2...}'

ajax回调数据 Structs has detected an unhandled exception 问题的更多相关文章

  1. Struts has detected an unhandled exception

    这个问题是struts和jsp页面的配置之间产生了问题,就是struts里边的名字和jsp里用的名字不是同一个名字,所以无法识别,所以检查一下里边的命名.

  2. Struts has detected an unhandled exception异常

    近期在写struts框架的时候会时不时的出现这个异常,多次实验以后发现,目前解决的方法只能通过重新部署项目再重新启动服务器解决,通常这个异常会出现在DMI即动态方法调用过程中.

  3. 【spring 后台跳转前台】使用ajax访问的后台,后台正常执行,返回数据,但是不能进入前台的ajax回调函数中

    问题: 使用ajax访问的后台,后台正常执行,并且正常返回数据,但是不能进入前台的ajax回调函数中 问题展示:  问题解决: 最后发现是因为后台的方法并未加注解:@ResponseBody,导致方法 ...

  4. 【springMVC 后台跳转前台】1.使用ajax访问的后台,后台正常执行,返回数据,但是不能进入前台的ajax回调函数中 ----2.前后台都没有报错,不能进入ajax回调函数

    问题1: 使用ajax访问的后台,后台正常执行,并且正常返回数据,但是不能进入前台的ajax回调函数中 问题展示:  问题解决: 最后发现是因为后台的方法并未加注解:@ResponseBody,导致方 ...

  5. Asp.net中的ajax回调模式(ICallbackEventHandler)

    客户端回调本质上就是指通过前端的客户端脚本向服务器端传递相应的数据参数,服务器端再以接受到的参数进行查询和处理,最后将结果回传到客户端进行显示.asp.net 2.0提供了实现无刷新回调的接口ICal ...

  6. ThinkPHP中ajax提交数据

    最近在做项目时遇到了一些需要从页面用ajax提交数据到后台的操作,无奈本人技术有限,网上苦寻,研究了一下ajax和thinkPHP的结合,黄天不负苦心人,终于搞定了. 闲话少叙,进入正题:我需要从页面 ...

  7. ExtJS学习笔记2:响应事件、使用AJAX载入数据

    响应事件: 1.设置一个html标记 <div id="my-div">Ext JS 4 Cookbook</div> 2.使用get函数获取此标记对象 v ...

  8. 第一百五十九节,封装库--JavaScript,表单序列化结合ajax提交数据

    封装库--JavaScript,表单序列化结合ajax提交数据 封装库,表单序列化方法 /** xu_lie_biao_dan()方法,表单序列化方法,将自动获取指定表单里面的各项字段name值和va ...

  9. 使用Python的Flask框架,结合Highchart,动态渲染图表(Ajax 请求数据接口)

    参考链接:https://www.highcharts.com.cn/docs/ajax 参考链接中的示例代码是使用php写的,这里改用python写. 需要注意的地方: 1.接口返回的数据格式,这个 ...

随机推荐

  1. war后缀的文件

    其实war文件就是Java中web应用程序的打包.借用一个老兄的话,"当你一个web应用程序很多的时候,如果你想把它部署到别的机器上,来回拷这些文件是件挺郁闷的事情,如果要是一个文件就好了. ...

  2. 谷歌扩展程序--------------Message

    转载:https://developer.chrome.com/extensions/messaging#external-webpage Message Passing Since content ...

  3. 二八定律全面分析SEO全过程

    首先,大体的了解SEO的整个流程,SEO的整个流程无非是:关键词选定.标题标签描述的正确描写---内部优化----外链----内容---友情链接---更新. 在SEO界流行这样一句话:“内容为王,外链 ...

  4. DirectX游戏开发——从一个小游戏開始

    本系列文章由birdlove1987编写,转载请注明出处. 文章链接: http://blog.csdn.net/zhurui_idea/article/details/26364129 写在前面:自 ...

  5. 【ACM】找新朋友

    //make up a table of prime factors #include <stdio.h> #include <stdlib.h> #define MAX 32 ...

  6. 服务端REST与SOAP的探讨

    REST简介 在开始我们的正式讨论之前,让我们简单看一下REST的定义. REST(Representational State Transfer)是Roy Fielding提出的一个描述互联系统架构 ...

  7. 如何使用angularjs实现ajax异步请求

    Sample.html <!DOCTYPE html> <html ng-app="myApp"> <head> <title>fo ...

  8. jquery操作select2控件

    (一)select2常用的操作:添加.移除.获取选中的value()与text() (1)移除事件:$("#select_id").unbind("change" ...

  9. java Web开发中,Tomcat安装顺序与配置(windows7系统下)

    一.要先安装JDK[比如,安装目录:D:/program Files/Java ] 注:1.JDK安装顺序可以参照百度,后期会补上 2.安装是否成功的验证方式:点击“开始”→输入“cmd”→输入“Ja ...

  10. JMeter 三:搭建一个Web Test Plan

    参考:http://jmeter.apache.org/usermanual/build-web-test-plan.html 场景 5个用户并发测试百度搜索,有两个请求,一个请求搜索“你好”,一个请 ...