2011-06-22 1 views
6

javaのテンプレートライブラリは、Enliveと似ていますか?Java用のSelectorベースのhtmlテンプレートライブラリ、Enlibと似ています

ページ内にマークアップを使用せずにプレーンhtmlを使用し、CSSセレクタに相当するものを使用してページにダイナミックデータを取り込むという概念は、私にとってはかなり良いようです。

私が探しているテンプレートの種類について詳しくは、このblog postを参考にしてください。

JavaでEnliveラッパーを作成して使用することは可能ですが、私は既存のJavaの代替方法を検討しています。

答えて

6

あまりにも遅くなければ、元のテンプレートから要素を選択し、それらに変形を適用することによってページを生成するテンプレートライブラリMoulderをご覧になることをお勧めします。件名に その他のリソース:

免責事項:私はこのライブラリの作者です。

+0

ありがとうございます。それはまさに私が探していたものでした。 Enliveよりはるかに冗長ですが、Javaであることを考えるとかなり耐え難いことです。 – Marko

4

これは、clojureの優雅さに応じて表現が変わるため、その魔法を実行するためには、Javaでの記述がその魔法を失う可能性が高いからです。

"The Enlive approach to templating is functional and decouples design and presentation logic." "ここでは制御が逆転しています。ほとんどの主流のテンプレートシステムでは、テンプレートがプレゼンテーションロジックを駆動します。"これは、ひどいJavaライブラリで達成するために、「ビジターパターン」を広範囲に使用する必要があります。

あなたは、非クロージュの世界に公開する必要がある部分をjava-wrappingするほうがよいでしょう。テンプレートをclojureに書き込んでください。私は多くの良い理由があることを理解していますが、 なぜこのアプローチがあなたのプロジェクト/組織に合わないのでしょうか。

2

もう一晩、Scalateについてkeynote of James Strachan at ScalaExchangeで探していました。

テンプレートランゲージのセットを含むテンプレートエンジンです。私はMustacheの部分を使用するためにそれを見てきました.Suueryと呼ばれるセレクタのようなCSS/JQueryに基づくテンプレートシステムがあります。

実際には、幅広いテンプレートソリューションの実装を示す良いプレゼンテーションです。 Scaml + Markdownも本当に素晴らしいですね。

厳密にはscalaですが、AFAICTではJavaからAPIを使用できます。もちろん、いくつかのテンプレート言語にはスカラーベースのDSLが埋め込まれています。

関連する問題