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...}'

最新文章

  1. schema约束和引入
  2. AC日记——计算2的N次方 openjudge 1.6 12
  3. [转]如何:在设备上安装 SQL Server Compact 3.5
  4. duilib\utils\utils.h(251) : error C2504: “VARIANT”: 未定义基类
  5. NOI2014 全国互测Round2
  6. PHP对XML文件操作之属性与方法讲解
  7. 常用html演示模板
  8. -_-#【JS 优化】把 JS 放到底部
  9. windows 编程 —— 菜单以及其他资源
  10. hdoj 3062 Party(2-SAT)
  11. sql: sql developer使用
  12. Linq to NHibernate入门示例
  13. Moss列表查询,删除条目,更新条目。
  14. mysql——leetcode问题记录
  15. 利用ichart绘制网页图表
  16. Tomcat和Mysql部署成Windows服务
  17. Unix/Linux文件类型及访问权限
  18. unity3d之简单的时钟倒计时demo
  19. jquery mobile header title左对齐 button右对齐
  20. Cocos2d-x3.0游戏实例之《别救我》第六篇——从代码中获取UI控件

热门文章

  1. Linux音频驱动简述
  2. Node &amp; Cheerio &amp; WebStorm 学习实验
  3. SQL盲注测试高级技巧
  4. How to publish a WordPress blog to a static GitLab Pages site
  5. 转:windows BAT 批处理脚本教程
  6. [Android Pro] Android的5个进程等级
  7. C#秘密武器之异步编程
  8. java设计模式之策略
  9. android 从Activity 获取 rootView 根节点
  10. 创建win32窗口