Java 结果为空,带有JSON和Struts2
我在Extjs4.1中创建了一个简单的表单 我将请求发送到Struts2框架,并使用struts2json插件接收响应。但不幸的是,响应为空 行动类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()
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>