質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

Q&A

解決済

2回答

8383閲覧

w2uiのグリッドを使用してデータを表示させたい

jess2pg

総合スコア14

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

0グッド

0クリップ

投稿2017/02/06 05:09

###実現したいこと
w2uiというグリッドを使用しているのですが、サーブレットからJSPにデータを渡してグリッドにデータを表示したいです。
処理概要は「画面A → サーブレット(JSON作成) → 画面B(w2uiのグリッド)」です。
json-libで作成したJSONオブジェクトを、サーブレット側でどのように記述したら画面Bのグリッドにデータを表示出来るのでしょうか。

###表示させたいデータ

JSON

1{ 2 "status" : "success", 3 "total" : 2, 4 "records" : [ 5 { 6 "recid" : 1, 7 "a" : "hoge_1_1", 8 "b" : "hoge_1_2", 9 "c" : "hoge_1_3" 10 }, 11 { 12 "recid" : 2, 13 "a" : "hoge_2_1", 14 "b" : "hoge_2_2", 15 "c" : "hoge_2_3" 16 } 17 ] 18};

###グリッドの記述

JSP

1$(function(){ 2 $('#grid').w2grid({ 3 name:'grid', 4 show:{toolbar:true,footer:true}, 5 url:{ 6 get:'./hogehoge', 7 }, 8 dataType:'JSON', 9 contentType : "application/json", 10 multiSearch:true, 11 searches:[ 12 {field:'recid', caption:'ID', size:'50px', type:'int'}, 13 {field:'a', caption:'a', size:'30%', type:'text'}, 14 {field:'b', caption:'b', size:'30%', type:'text'}, 15 {field:'c', caption:'c', size:'30%', type:'text'} 16 ], 17 columns:[ 18 {field:'recid', caption:'ID', size:'50px', sortable:true, resizable:true}, 19 {field:'a', caption:'a', size:'500px', sortable:true, resizable:true, 20 render: function (record) { 21 return "<a href='./hogehoge2'>" + record.a + "</a>"; 22 } 23 }, 24 {field:'b', caption:'b', size:'70px', sortable:true, resizable:true, editable:{type:'text'}}, 25 {field:'c', caption:'c', size:'130px', sortable:true, resizable:true, editable:{type:'text'}} 26 ] 27 }); 28});

Java

1//PrintWriter out = response.getWriter(); 2JSONObject json = new JSONObject(); 3 4//out.print(json);これだとJSONのデータが表示されるだけ。 5request.setAttribute("jsonData", json);//データは渡せているけどグリッドに表示されない。 6 7//画面は表示出来るが、グリッドに表示されない。 8//画面を表示してグリッドにデータを表示するには、どのようにしたらよいでしょうか。 9RequestDispatcher dispatcher = request.getRequestDispatcher("/a/b/c.jsp"); 10dispatcher.forward(request, response);

###試したこと
w2uiのサンプルにあった「records:」や「url:/a/b.json」でデータを表示出来るところまでは確認しています。
requestでデータを受け取ることが出来たので、「onLoad:」で表示させてみようとしたのですが、1行追加するごとに空行が挿入されました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

java側で以下のようにしたところ、表示されるようになりました。

Java

1response.setContentType("application/json; charset=UTF-8"); 2PrintWriter out = response.getWriter(); 3 4// JSONデータの作成 5JSONObject json = new JSONObject(); 6 7out.print(json);

投稿2017/02/06 12:02

jess2pg

総合スコア14

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Grid Overview のページの Example 2 に書いてあるように url にリソースを指定しておくと、Grid が url に指定されたリソースを非同期要求するので、サーバーで要求を受けたら所定の形式の JSON 文字列を応答として返すようにしておけば、後は表示まで全部 Grid が面倒見てくれます。

Grid Overview
http://w2ui.com/web/docs/1.5/grid

url に指定するリソースは、同じドメインにあって(AJAX なのでドメインが異なるのは NG)指定された形式の JSON 文字列を返すことができれば、.aspx ページ、HTTP ハンドラ、Web サービス、WPF、MVC のアクションメソッド、Web API などを使用できます。

具体的な実装例は、ASP.NET の HTTP ハンドラですが(すみませんが、Java は書けないです)、以下の記事が参考にならないでしょうか?

w2ui Grid
http://surferonwww.info/BlogEngine/post/2015/12/26/w2ui-grid-in-aspnet-web-forms-application.aspx

投稿2017/02/06 06:04

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jess2pg

2017/02/06 10:26

ご回答ありがとうございます。 >サーバーで要求を受けたら所定の形式の JSON 文字列を応答として返すようにしておけば の部分と、教えて下さったURLは既に見ていまして、これをJavaでどう実装したら良いものかと考えております。
退会済みユーザー

退会済みユーザー

2017/02/06 10:49

それなら紹介した記事の HTTP ハンドラを Java でs実装するにはどうしたらいいかというような質問にした方がよかったかもしれませんね。自分は Java はわからないのでお役に立てずすみません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問