はじめに
Scala/Playframework の Twirl を利用する時の活用集をメモしたものになります。
踏み込んだ内容ではなく、学習初期のメモなので Scala/Playframework を利用したての方を対象としています。
利用時のバージョン
- Scala v2.xx
- Play v2.8.x
活用メモ集
1. 半角スペースの相殺・長文の改行
規約や説明文など複数行に渡る文章を記載する際、改行した時にスペースが入り込んでしまうことがある。
そのようなケースで .scala.html
ファイルで文字列に、余計なスペースを持たせたくない時は、下記のように記述する。
@(
Seq(
"xxxxxxxxxxxxxxxxxxxxxxxxxxx",
"xxxxxxxxxxxxxxxxxxxxxxxxxxx"
).mkString("")
)
Seq でキリのいい文字列のところで分割し、 mkString("")
でくっつけた、余計なスペースを持たない文章を出力させることができる。
2. @のエスケープ
@
の記号を文字列として利用したい場合は、 @@
とすることで文字列として HTML に表示できる。
入力値: <span>huga.huga@@gmail.com</span>
出力値: huga.huga@gmail.com
3. forループ ・ Index の利用
複数アイテムをもつリスト要素を for ループする際、リストアイテムの Index を取得したい場合は、 zipWithIndex
を利用する。
val contentSeq = Seq("いちご", "ぶどう", "たまご")
<ul class="list">
@for((item, index) <- contentSeq.zipWithIndex){
<li class="item" id="data-@index">
@item
</li>
}
</ul>
<ul class="list">
<li class="item" id="data-0">
いちご
</li>
<li class="item" id="data-1">
ぶどう
</li>
<li class="item" id="data-2">
たまご
</li>
</ul>
index を id に含めたりすると、リストでも一意の要素として扱えるようになる。
さいごに
Twirl のちょっとした使い方や Tips 集のような形で記載しました。
メモ程度ですが久しぶりのアウトプットも兼ねて記載しました。
少しでもScala初学者のお役に立てれば嬉しいですmm