Enliveに似た性質のJava用のテンプレートライブラリを知っている人はいますか?
内部にマークアップなしでページにプレーンHTMLを使用し、CSSセレクターと同等のものを使用して動的データをページに入力するという概念は、私にはかなり良いように思えます。
私が探しているテンプレートの種類の詳細については、このブログ投稿を参照してください。
JavaでEnliveラッパーを作成してそれを使用することは可能であることを私は知っていますが、私は既存のJavaの代替案を検討しています。
手遅れでない場合は、元のテンプレートから要素を選択して変換を適用することでページの生成が行われるテンプレートライブラリであるMoulderをご覧になることをお勧めします。このテーマに関するその他のリソース:
免責事項:私はこのライブラリの作者です。
enliveは、clojureの優雅な表現に依存して魔法を実行するため、Javaでの実装はその魔法を失う可能性があります。
「テンプレートへのEnliveアプローチは機能的であり、デザインとプレゼンテーションロジックを切り離します。」「ここには一種の制御の反転があります。ほとんどの主流のテンプレートシステムでは、テンプレートがプレゼンテーションロジックを駆動します。」これを実現するには、海峡のJavaライブラリで「ビジターパターン」を広範囲に使用する必要があります。
Clojure以外の世界に公開する必要のある部分をJavaでラップする方がよいでしょう。テンプレートをclojureで記述します。このアプローチがプロジェクト/組織に適合しない理由はたくさんあると思いますが。
先日、ScalaExchangeのJamesStrachanのScalateに関する基調講演を見ていました。
これは、テンプレート言語のセットを含むテンプレートエンジンです。私はMustacheの部分を使用するためにそれを見てきましたが、Scueryと呼ばれるテンプレートシステムがあります。これもCSS/JQueryのようなセレクターに基づいています。
実際、これは幅広いテンプレートソリューションの実装を示す優れたプレゼンテーションです。Scaml+Markdownも本当に素敵に見えます。
厳密に言えば、それはscalaですが、AFAICTではJavaのAPIを使用できます。もちろん、一部のテンプレート言語には、scalaベースのDSLが組み込まれています。