タイトルが全てです。Play FrameworkのテンプレートエンジンTwirlは@を特殊扱いしています。Play 3.0で確認しましたが、どのバージョンでも同じはず。
@foo
こう書くと変数fooへの参照になるわけです。
Bootstrapを使いたいときに以下のようなコードをテンプレートに埋め込みたいことがあると思います:
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-..." crossorigin="anonymous">
URLの中に@が入っているのでTwirlはコケます。Invalid '@' symbolと言われたらこれです。
@自体を入力したいときは@@と書けばよいです:
<link href="https://cdn.jsdelivr.net/npm/bootstrap@@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-..." crossorigin="anonymous">
なんかマヌケだけどしょうがない。
@に続いて変数を使いたいとき(例えば@windymeltみたいにユーザ名を表示したいとき)も@@@userNameみたいに書けばいいです。