6

JSPより安全なものはありますか?Google で意味のある回答が見つかりませんでした。現在、Spring MVC フレームワークと JSP を使用して HTML をレンダリングしています。私は JSP レンダリングの動的な性質を嫌うようになりました。モデルを参照しても、${model.someAttribute}この属性が特定のモジュールで使用可能かどうか、またはテンプレートが期待するモデルのタイプを指定しているかどうかを判断する方法がありません。モデルのゲッターをリファクタリングすることは非常に困難になります。Eclipse はどのテンプレートがそのモデルを使用しているかを認識せず、ゲッターをテンプレート内のプロパティ アクセサーに関連付けることもできないためです。

命令型コードを介して HTML コードを吐き出すよりも見苦しくなく、JSP よりもタイプ/コンパイルの安全性が高いテンプレート テクノロジはありますか?

4

6 に答える 6

2

タイプ ヒントを使用できます。たとえば、jsp:useBean のtype 属性や、JSP タグ ファイルの属性宣言 (およびおそらく JSTL タグなどの他の場所) で使用できます。その後、IntelliJ は静的な型ベースの優れた処理をすべて実行します (正確なコード補完の提案、リファクタリング、使用箇所の検索、迅速な javadoc の表示など)。

私はつい最近、 JSP タグ ファイルのコンテキストでこれについて書きました。

于 2013-04-18T19:13:06.600 に答える
0

JXTの目標には、XSS の安全性と型モデルの安全性の両方が含まれており、JSP から簡単に移行できるように設計されていると思います。

それらのパイプラインの説明では、式が Java 式により密接にマップされるため、式に型の不一致がある場合に Java 風の型エラーが発生することが説明されています。

于 2013-02-21T22:26:31.507 に答える
0

Lift ( Scalaベース) は、HTML レイアウトを実際のアプリケーション コード (スニペットと呼ばれる) から適切に分離した非常に優れたモデルを提供します。最初は参入障壁が高いように見えるかもしれませんが、長期的に見れば利益は非常に大きくなります。大きな利点の 1 つは、JVM 上で実行されるため、Java ライブラリやその他のコードのほとんどを再利用できることです。

于 2013-02-21T22:13:31.953 に答える
0

実際には使用していませんが、Twirl ( https://www.playframework.com/documentation/2.5.x/JavaTemplates ) は「Scala ベースのタイプ セーフなテンプレート エンジン」と自称しています (Play for Java で使用できるようです)。 .

見積もり:

Scala Play に基づくタイプ セーフなテンプレート エンジンには、強力な Scala ベースのテンプレート エンジンである Twirl が付属しており、その設計は ASP.NET Razor に触発されています。具体的には次のとおりです。

コンパクト、表現力豊か、流動的: ファイルに必要な文字数とキーストロークの数を最小限に抑え、高速で流動的なコーディング ワークフローを可能にします。ほとんどのテンプレート構文とは異なり、HTML 内でサーバー ブロックを明示的に示すためにコーディングを中断する必要はありません。パーサーは、コードからこれを推測するのに十分スマートです。これにより、非常にコンパクトで表現力豊かな構文が可能になり、クリーンで高速で楽しく入力できます。

習得が容易: 最小限の概念で、すぐに生産性を高めることができます。単純な Scala 構造と既存の HTML スキルをすべて使用します。

新しい言語ではありません: 私たちは意識的に新しい言語を作成しないことを選択しました。代わりに、Scala 開発者が既存の Scala 言語スキルを使用できるようにし、すばらしい HTML 構築ワークフローを可能にするテンプレート マークアップ構文を提供したいと考えました。

任意のテキスト エディターで編集可能: 特定のツールを必要とせず、プレーンな古いテキスト エディターで生産性を高めることができます。

于 2017-01-18T13:49:17.733 に答える