Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 结果为空,带有JSON和Struts2_Java_Extjs_Struts2_Extjs4_Struts2 Json Plugin - Fatal编程技术网

Java 结果为空,带有JSON和Struts2

Java 结果为空,带有JSON和Struts2,java,extjs,struts2,extjs4,struts2-json-plugin,Java,Extjs,Struts2,Extjs4,Struts2 Json Plugin,我在Extjs4.1中创建了一个简单的表单 我将请求发送到Struts2框架,并使用struts2json插件接收响应。但不幸的是,响应为空 行动类 public String execute()throws Exception{ Employee emp = new Employee(); emp.setAddress(getAddress()); emp.setDepartment(getDepartment()); emp.setName(getName()

我在Extjs4.1中创建了一个简单的表单

我将请求发送到Struts2框架,并使用struts2json插件接收响应。但不幸的是,响应为空

行动类

public String execute()throws Exception{
    Employee emp = new Employee();
    emp.setAddress(getAddress());
    emp.setDepartment(getDepartment());
    emp.setName(getName());
    emp.setSalary(getSalary());
    AddEmployeeService empService = new AddEmployeeService();
    boolean flag = empService.addEmployee(emp);
    resultJSONobj = new JSONObject();
    if(flag == true)
        resultJSONobj.put("success","Inserted Successfully");
    else
        resultJSONobj.put("failure","An error occured");
    System.out.println(resultJSONobj);
    return SUCCESS;

}
struts.xml


结果JSONOBJ

有人能告诉我为什么得到的响应为空吗?

你有这样的resultJSONobj的Getter吗

public JSONObject getResultJSONobj(){ 
   return this.resultJSONobj; 
}
向包中添加命名空间,如下所示:

<package name="default" namespace="/" extends="struts-default, json-default">
<struts>
    <package name="default" extends="struts-default, json-default">

        <action name="AddEmp" class = "actions.AddEmpAction">
            <result name="success" type="json" />
        </action>
    </package>  

</struts>
并按如下方式更改struts配置:

<package name="default" namespace="/" extends="struts-default, json-default">
<struts>
    <package name="default" extends="struts-default, json-default">

        <action name="AddEmp" class = "actions.AddEmpAction">
            <result name="success" type="json" />
        </action>
    </package>  

</struts>


struts.xml文件中缺少一些东西。结果成功后,你要去哪里? 在execute方法外部和action类内部创建json对象实例。 Struts2JSON插件序列化action类中的所有action变量。可能是因为您只在action类中声明了JSONobject并在execute中实际创建了它,所以JSON可能会得到它{}

在action类内部和execute and see外部,它可能会工作。 有关更多信息,请访问此处

在配置文件struts.xml中,请使用

<param name="includeProperties">resultJSONobj.*</param>
resultJSONobj*
而不是

<param name="includeProperties">resultJSONobj</param>
resultJSONobj

我以前在我的项目中也遇到过同样的问题,在我做了上述更改之后,它就工作了。

我为JSONObject添加了getter和setter。但现在它将结果显示为“{}”,尽管我在JSONObject中添加了一个值。
<param name="includeProperties">resultJSONobj.*</param>
<param name="includeProperties">resultJSONobj</param>