私はいくつかの php 開発を行いましたが、この言語の大きな傾向は、smarty やその他のテンプレート エンジンなどを使用することです。
通常、おおよそ次のように実行されます。
テンプレートを通常の文字列としてロードし、その {tag} を探して、各 {tag} を何らかのコードの結果に置き換えます。入力パラメーターを使用してページをキャッシュし、結果のページをレンダリングします。(テンプレートがオブジェクトになるなどのオブジェクト指向の原則を追加することもあります...)
jsp を見ると、スクリプトレット、taglibs などの複雑なものが使用されていることがわかります。
<%@ taglib uri="/tags/struts-logic" prefix="logic" %>
<%@ page import="ghhghjjgj"%>
それから :
<logic:if>some html </logic:if>
またはさらに悪い:
<%= if (blabal) {%>
some html
<%}else ...%>
など。
さて、タイルを使用すると、いくつかの jsp ページを一緒に接着することができます。これは非常に便利です (php のインクルードのように)
php のアプローチは、次の点ではるかに優れているように思えます。
- GUI とモデルの処理を完全に分離します。
-後ろの部分で作業しているときに、ページのコンテンツを変更するのは簡単です。% @ <%= のような複雑なものがない実際の Java クラスにいます。(誰がコード ビハインド アラ C# と言ったか ;) ?)
C# アプローチも非常に興味深いものですが、質問の中でテンプレート部分に対処したいだけで、C# 対 Java トロール戦争を開始したくありません。また、php の方が優れているとは言いたくありません。
Java に適切にインストールされたテンプレート エンジンがない理由と、まだ scriplets/taglibs を使用している理由を知りたいだけです。
だから私は何かが欠けているに違いないと思います。Java EE Web の専門家が私の推論の欠陥を教えてくれますか?