easyui+Struts2+json写了一段小程序,现在添加信息的时候数据库能保存成功,但是不能在页面执行接收json的函数,报错“no default parameter defined for result of type json”,搜索无果,特来请教。jsp代码:function saveUser(){  
$('#addForm').form('submit',{  
        url: url,  
        success: function(result){
         alert(result);  
            var result = eval('('+result+')');  
            alert(result); 
            if (result.success){  
                $('#addDialog').dialog('close');      // close the dialog  
                $('#test').datagrid('reload');    // reload the user data  
            } else {  
                $.messager.show({  
                    title: 'Error',  
                    msg: result.message  
                });  
            }  
        }
});  
}  
STRUTS.xml<action name="addRyxx" class="com.impms.action.RyxxAction" method="add">
    <result name="success" type="json" >
    </result>
   </action>
Action
public String add() {
int flag = RyxxImpl.addRyxx(ryxx);
if(flag==1){
//添加成功
success = true;
message = "人员信息添加成功!";
}else{
//添加不成功
success = false;
message = "人员信息添加不成功,请检查!";
}
Map<String, Object> jsonMap = new HashMap<String, Object>();//定义map 
jsonMap.put("status", success);
        jsonMap.put("message", message);
        result = JSONObject.fromObject(jsonMap);//格式化result   一定要是JSONObject 
        System.out.println(result);
        return SUCCESS; 
}
通过浏览器能得到json字符串,但是只能得到很少次,用IE9的开发人员工具跟踪,很多都显示已中止,然后跳转到我的index.jsp中,哎,今天卡了一天了。

解决方案 »

  1.   

        将 result out到 前台 ~  这样返回的就是 json 了 
      

  2.   

    struts.xml不需要配置针对success的result转向
    <action name="addRyxx" class="com.impms.action.RyxxAction" method="add">
                   <result></result>
    </action>
    public String add() {
            int flag = RyxxImpl.addRyxx(ryxx);
            if(flag==1){
                //添加成功
                success = true;
                message = "人员信息添加成功!";
            }else{
                //添加不成功
                success = false;
                message = "人员信息添加不成功,请检查!";
            }
            Map<String, Object> jsonMap = new HashMap<String, Object>();//定义map 
            jsonMap.put("status", success);
            jsonMap.put("message", message);
            result = JSONObject.fromObject(jsonMap);//格式化result   一定要是JSONObject 
            response.getWriter.write(result);//response哪来的 你懂得~~~
       }
      

  3.   

    response.getWriter()笔误了~~
      

  4.   

    忘了提醒楼主把函数类型改为void  
    public void add()