Home >Java >javaTutorial >How to Resolve 'No result defined for action action.Part and result' Errors in Struts2 with JSON Plugin?
The error message "No result defined for action action.Part and result {"col1":"col1","col2":"col2"}" indicates that Struts2 is unable to locate the specified action or result in your application configuration.
The Struts2-JSON plugin serializes the entire action into JSON by default, excluding transient properties or those without getters. However, you can customize this behavior by specifying a root object that defines which portion of the action should be serialized.
In your case, you can define a custom root object, like MyRow, to represent the data structure of your rows. You can then use this root object in your Struts2 configuration to specify that the JSON serialization should use it instead of the entire action.
Here's an example of how your code could look:
Value Object:
public class MyRow implements Serializable {</p> <pre class="brush:php;toolbar:false">private static final long serialVersionUID = 1L; private String col1; private String col2; // Getters public String getCol1(){ return this.col1; } public String getCol2(){ return this.col2; }
}
Action Class:
public class PartAction implements Serializable {</p> <pre class="brush:php;toolbar:false">private static final long serialVersionUID = 1L; private List<MyRow> rows; // Getter public List<MyRow> getRows() { return this.rows; } public String finder() { String result = Action.SUCCESS; rows = new ArrayList<MyRow>(); try { Iterator it = findList.iterator(); while(it.hasNext()) { SearchResult part = (SearchResult) it.next(); MyRow row = new MyRow(); row.setCol1(part.getcol1()); row.setCol2(part.getcol2()); rows.add(row); } } catch (Exception e) { result = Action.ERROR; log.error(e); } return result; }
}
Struts.xml Configuration:
<package name="default" namespace="/ajax" extends="json-default"></p> <pre class="brush:php;toolbar:false"><action name="finder">
jQuery Success Callback:
var handledata = function(data) {<pre class="brush:php;toolbar:false">$.each(data, function(index) { alert(data[index].col1); alert(data[index].col2); });
}
The above is the detailed content of How to Resolve 'No result defined for action action.Part and result' Errors in Struts2 with JSON Plugin?. For more information, please follow other related articles on the PHP Chinese website!