2017-09-09 18 views
0

次のようにハッシュセットを作成しています。Thymeleaf:ハッシュセットの要素を1つずつアクセスする方法は?

public Set<InventoryPriceRange> getPriceRanges() { 
     if(priceRanges == null){ 
      priceRanges = new HashSet<>(); 
     } 
     return priceRanges; 
    } 

今、私はthymeleafを使用してその要素に1つずつアクセスしたいと思います。私は現在、このようにしています。

th:value="${IR.priceRanges[1]} 
th:value="${IR.priceRanges[2]} 
th:value="${IR.priceRanges[3]} 

出力では値の代わりにこれが表示されます。

[email protected] 

そして、これがcom.vlclabs.adsops.domain.deal.InventoryPriceRange下のコードです。これは、ハッシュセットの値を設定するために使用されます。

private Long id; 

    private double lowerLimit; 

    private boolean equalLowerLimit; 

    private double upperLimit; 

    private boolean equalUpperLimit; 

    private double price; 

    public InventoryRow getInventoryRow() { 
     return inventoryRow; 
    } 

    public void setInventoryRow(InventoryRow inventoryRow) { 
     this.inventoryRow = inventoryRow; 
    } 
} 

私はthymeleafを初めて使っています。この問題を解決するために私を助けてください。 thymeleafでコレクションへのアクセスについて述べている

+2

あなたのセットは空です。また、HashSetには順序が定義されていないため、インデックスで要素にアクセスすることはあまり意味がありません。そして、私たちは "ゴミ"が何であるか、あなたが何を期待しているかは分かりません。あなたが見せるものがあれば、なぜループを使わないのですか? –

+0

は質問にいくつかの編集を行い、データがハッシュセットにどのように追加されるかを示しました。参照してください。 – sndu

+1

これはまったくごみではありません。 Objectから継承されたクラスのtoString()メソッドは、オブジェクトのhashCodeの後に続くクラスの名前を返します。何を他に*表示したいですか?価格を表示したいと思ったら、それを表示してください: '$ {IR.priceRanges [1] .price}' –

答えて

1

1つの機構は通りです:

<tr th:each="message : ${messages}"> 
    <td th:text="${message.id}">1</td> 
    <td><a href="#" th:text="${message.title}">Title ...</a></td> 
    <td th:text="${message.text}">Text ...</td> 
</tr> 

説明:$ {メッセージ} - は、上記の行に探検し、変更 そしてコレクションを作るあなたのコレクションでこれを置き換えます上記の名前はあなたのモデル属性名になります。

関連する問題