LoginSignup
7
7

More than 5 years have passed since last update.

freemarkerでMapのデータを回す2+1の方法

Posted at

Javaのテンプレートエンジン freemarker でMapのデータをぐるぐる回して表示させたいとき。

<#assign h = {"name":"mouse", "price":50}>

上記のようなMapの場合2通りの方法で実現できる。

?keysを使う方法

<#list h?keys as key>
    ${key} = ${h.get(key)}
</#list>

?keysを使うとkeyを一覧で取得できgetを使ってvalueを取得できる。
JavaのkeySetと同じ。

entrySet()を使う方法

<#list h.entrySet() as entry>  
  ${entry.key} = ${entry.value}
</#list>

entrySet()を使う方法。
基本的にはこっちのほうがパフォーマンスは良いはず。こっちを使おう。

キーでソートしたいとき(+1)

<#list h?keys?sort as key>
    ${key} = ${h.get(key)}
</#list>

?keysは遅いんだけどkeyでソートしたいときは?sortででっきちゃうんで便利。

7
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7