これは、これが1-2-3と数えるほど簡単だと思っていたので、これは本当に嫌いです。私は昨日から今日調査しましたが、私は解決策を見つけませんでした。JQuery JQGrid:Spring MVC 3からJSONデータをロードする方法@RequestBody
ここで私がしたいことがあります。 Spring MVC 3コントローラからJSONデータを取得し、そのデータをJQGridに表示します。セットアップするには
はJSONデータを送信するために私のコントローラは、私がこの記事Ajax Simplifications in Spring 3.0
JSONリクエストを処理し、この要求マッピングからのアドバイスに従っ:私はだから
@RequestMapping(value = "/users", method = RequestMethod.GET)
public @ResponseBody List<UserDTO>viewUsersAsJSON(HttpServletRequest request, HttpServletResponse response, ModelMap model) {
logger.debug("Retrieving all users as JSON");
return userRoleService.getAll();
}
このマッピングは動作しますFirefoxとRESTClientからJSONデータを取得することができます。私は、任意のは、このデータを取得するためにFirefoxやRESTClient中=アプリケーション/ JSONヘッダを受け入れる指定する必要はありませんでした
[{"username":"johnsmith","userId":1,"firstName":"John","lastName":"Smith","id":"1"},{"username":"stackoverflow","userId":2,"firstName":"Stack","lastName":"Overflow","id":"2"}]
:ここではサンプルJSONデータの出力は、(私が機密データを削除する必要がありました)です。私はちょうど完全なURLを入力してください:http://localhost/myapp/users
Spring MVC 3のマッピングで私は特別な設定やXML設定をしませんでした。(記事とその結果に基づいています)私JSON。ここで
は私のJSPページ上で宣言として私JqGridです:
Javascriptを:JSPで宣言されているよう
<script type="text/javascript">
jq(function() {
jq("#list2").jqGrid({
url:'/myapp/users',
datatype: 'json',
mtype: 'GET',
colNames:['Id','Username', 'User Id', 'First Name', 'Last Name'],
colModel:[
{name:'id',index:'id', width:55},
{name:'username',index:'username', width:90},
{name:'userId',index:'userId', width:90},
{name:'firstName',index:'firstName', width:100},
{name:'lastName',index:'lastName', width:80, align:"right"}
],
rowNum:10,
rowList:[10,20,30],
pager: '#pager2',
sortname: 'id',
viewrecords: true,
sortorder: "desc",
caption:"Users Table"
});
jq("#list2").jqGrid('navGrid','#pager2',{edit:false,add:false,del:false});
});
</script>
は、ここに私のCSS要素です:
<table id="list2"></table>
<div id="pager2"></div>
私はFirefoxのエラーコンソールを実行しました。エラーは見つかりませんでした。私はFirebugを走らせた。私はエラーも見られませんでした。
JqGridは正しい列名でロードされますが、空です。私は単純な配列データを使って別のJSPページに別のJqGridをセットアップし、データをロードすることができます。任意のアイデアやソリューションですか?
Spring MVC 3 JSON JqGrid統合の実例を見つけるのは本当に難しいです。
ありがとう:
では、オブジェクトは次のようになりますので、あなたのJSONを再構築したいと思うjsonreaderデフォルトでこの作業を行います。私は今、そのリンクを読むつもりです。うまくいけばそれは私が探しているものを持っています:) – chris問題はありません。私はちょうどあなたにデフォルトのjsonreaderでそれを行う方法の例を与えるように更新しました。うまくいけば、そこにあなたの残りの部分を得るでしょう。 –
私は今それを見る。 JqGridは正確なJSON形式を期待しています(jsonReaderを使ってマッピングする方法を指定できます)。私は今これが私にとって必要なものだと思います。 – chris