また久しぶりにclojureをいじり始めた。またWebシステムの実装に用いる予定。どうやってJSPやASPのように動的にWebページを生成するのが良いのか、最近の流行を少し調べてみた。

結果として、自分にはfleetが現状良さそうという結論に達した。若干悩んだ点と調べて分かったことのメモ。

  • fleet-nsでテンプレートを生成するときに、引数で指定したディレクトリにあるファイルを 走査して、それぞれのテンプレートファイルに対応するテンプレート関数が作られる。例えば、post.html.fleetというファイルが存在すれば、postという関数が、(同じく引数で指定した名前空間に)作られる。
  • post関数の内部(つまり、テンプレートファイルの中)では、dataという名前でテンプレート関数への実引数を参照できる。すなわち、<(:hoge data)>とpost.html.fleetに記述すれば、このテンプレート関数が実行されるときに、実引数として渡されたmapにあるhogeキーの値を出力する。

Comments