Ruby(erb / haml)に最も近い方法で機能するJava HTMLテンプレート技術はどれですか?
-
03-07-2019 - |
質問
Javaの中で Apache Velocity、Freemarker、Hamletsなどのテンプレートソリューション、タペストリー、StringTemplate、JSP、JSP Weaver(その他?)は、Ruby-haml / erbの同様のHTMLテンプレートソリューションの簡潔さとシンプルさに最も近いものです。テンプレートエンジンの構文と、それがサーバー上のコントローラーコードと簡単に統合される方法の両方に関心があります。
解決
私はあなたが得ているものはこれだと思います
ルビー
<% foreach vars do |var| %>
<!-- some html code to do -->
<%=h var %>
<% end %>
java
<% for( int i = 0; i < vars.length; i++ ) { %>
<%=vars[i]%>
<% } %>
タグが似ている
コントローラのJava側の場合、ビュースプリングはそれらをうまく分離する方法を提供します
他のヒント
Javaでは、Rubyよりもコードとデータを混在させる習慣が非常に嫌われています。推奨されるJavaプラクティスは、コードブロックの代わりにtaglibを使用することです。 Javaテンプレートを通常のRubyテンプレートと同じ方法で記述した場合、他のJava開発者(チームで作業していると仮定します)が文句を言う可能性があるため、これについてのみ言及します。
だからあなたの質問に答えるために..... JSTLとELと一緒に標準JSPは本当に悪い解決策ではありません。しかし、さらに簡潔にするために、Grailsが使用するテンプレートソリューションであるGSPを確認してください。 Java webappでGSPを使用できます。つまり、Groovy / Grailsを使用する必要はありません。
... Quercus を使用する場合は、PHPを使用することもできます。次に、JSP、Velocityなどと同様に、これらを「ビュー」として使用したり、スプリングまたはストラットなどを使用してコントローラーを処理したりできます。
私たちが少し前に行ったプロジェクトは、JSPとstruts、そしてspringです。それらはすべてうまく統合されており、説明されていることを実行できました。
ほとんどのレンダリング/テンプレートエンジンにはさまざまな構文があります。 Javaの優れた点は、どの構文がより快適であるかを選択し、選択したコントローラー/コンテナーで使用できることです。