2017-09-19 5 views
0

私は、ブートストラップテーブルにハッシュマップキーセットを表示しようとしていますが、最初の文字だけが表示されています。Java Hashmap.keySet()をJava Restサービスのブートストラップテーブルに表示するにはどうすればいいですか?

これは私の残りのサービス機能である:

@GET 
@Path("getquizes") 
@Produces(MediaType.APPLICATION_JSON) 
public Collection<String> getQuizes() { 
    System.out.println(activeQuizes.keySet()); 
    return activeQuizes.keySet(); 
} 

それが働いています。ここで

Received Json object

は私のHTMLです:

  <table data-toggle="table" id="tablequizes" class="display table table-bordered"> 
      <thead> 
      <tr> 
       <th datatype="String">Name</th> 
      </tr> 
      </thead> 
     </table> 

そして、私のjavascript:

function fetchQuizes() { 
    $.ajax({ 
     url: 'rest/Quiz/getquizes', 
     type: 'GET', 
     datatype: 'json', 
     success: function (data) { 
      console.info(data); 
      $('#tablequizes').bootstrapTable('load', data); 
     }, 
     error: function (result) { 
      console.info(result.responseText); 
     } 
    }); 
} 

しかし、結果は唯一の最初の文字を示しているこれは、私が受けていますものです配列:

Bootstrap datatable with hashmap keyset

+0

'bootstrapTable'はどこから来たのですか?それはあなたが使っている図書館ですか? –

答えて

0

私はあなたがkeySet()があなたを与えているかについて間違ってきていると思う:

Returns a Set view of the keys contained in this map. 

あなたが唯一のキーではなく、マップの値を取得しています。値の使用values()

Returns a Collection view of the values contained in this map 

activeQuizes.values(); //Try with this. 
+0

私はキーとしてクイズ名を使用しています。そして、私は私のウェブサイトのすべてのクイズのリストが必要です。なぜ私はキーセットを使用しているのですか?なぜなら、私はクイズの名前のリストだけで、クイズのオブジェクト全体ではないからです。写真が示すように、私はクイズ名のリストを受け取りますが、問題はそれをテーブルに表示することです。 – Jone

0

を取得するためのあなたのJSで、その中にいくつかの名前のIDを持つ配列へのあなたのAjaxの出力内容のtablequizesを変更してみてください。

Eg: [ {"name": "Quiz1"}, {"name": "Quiz2"} ] 

、これはあなたの問題を解決する必要があり

<th data-field="name">Name</th> 

番目のタグを変更します。

関連する問題