Spring 3 MVC アプリでレンダリングするオブジェクトのリストを取得しようとしていますが、これを Ajax 経由で行いたいと考えています。
したがって、私の春のクラスには次のものがあります。
@RequestMapping(value = "/viewSearchEnquiriesAjax", method = RequestMethod.GET, headers = "Accept=application/json")
public @ResponseBody List<Enquiry> getEnquiriesBySearchAjax(@RequestParam String name) {
Search search = new Search();
search.setFirstName(name);
return searchEnquiries(search);
}
しかし、これを実行すると 500 (Internal Server Error) が発生します。これは、ブラウザでデバッグしているときに現れます'GET http://localhost:8080/SpringMVC/viewSearchEnquiriesAjax?name=peter 500 (Internal Server Error)'
エラーなしで単一のオブジェクトを正常に返すことができます。Spring Json マッパー (Jackson) は正しく変換できますか? 基本的な何かが欠けていますか?
私のjavascriptは次のとおりです。
function doAjaxPost() {
// get the form values
var firstName = $('#firstName').val();
$.getJSON("/SpringMVC/viewSearchEnquiriesAjax", { name: firstName }, function(result) {
alert("Success");
});
}
私の照会オブジェクトはエンティティです:
@Entity
@Table(name = "enquiries")
public class Enquiry implements java.io.Serializable{
private static final long serialVersionUID = -5093725544297637792L;
protected Long id;
protected Date created = new Date();
...
...
public Enquiry() {
}
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id", unique = true, nullable = false)
public Long getId() {
return this.id;
}
public void setId(Long id) {
this.id = id;
}
...
...