JSP ではなく JSPX を使用する必要がありますか?[閉まっている]

StackOverflow https://stackoverflow.com/questions/28235

  •  09-06-2019
  •  | 
  •  

質問

使用する JDeveloper, 仕事のプロジェクトで一連の Web ページの開発を始めました。当時私は JDev についてあまり知らなかったので、Oracle にアクセスしていくつかのチュートリアルに従いました。JDev チュートリアルでは次のことを推奨しています JSPX の代わりに JSP, しかし、その理由はあまり説明されませんでした。JSPX ページを開発していますか?なぜそうしようと思ったのですか?JSPX ルートを選択することの長所と短所は何ですか?

役に立ちましたか?

解決

主な違いは、JSPX ファイル (正式には「JSP ドキュメント」と呼ばれます) の方が、整形式の XML が要求されるため、入力時にエディターがより多くのタイプミスや構文エラーを識別できる可能性があるため、作業が容易であることです。

ただし、デメリットもあります。たとえば、整形式の XML では小なり記号などをエスケープする必要があるため、ファイルは次のような内容になる可能性があります。

<script type="text/javascript">
   if (number &lt; 0) {

XML 構文はさらに冗長になる場合もあります。

他のヒント

JSPX にはいくつか不便な点があると思います。

  1. ある種の動的コンテンツを生成するのは困難です。特に。オプションの属性を含む HTML タグを生成します (つまり、または条件によって異なります)。この問題を解決するはずの標準の JSP タグは、私が JSPX を使い始めた頃には正しく動作しませんでした。
  2. これ以上は不要です。:-p
  3. すべての Javascript を別のファイルに配置することをお勧めします (または CDATA セクションなどを使用します)。私見ですが、とにかく jQuery を使用するべきなので、onclick などは実際には必要ありません。属性...
  4. ツールが正しく動作しない可能性があります。おそらく、あなたの IDE はプレーンな JSP をサポートしていないでしょう。
  5. Tomcat 6.x では、少なくとも私が試したバージョン/構成では、生成された出力には書式設定がありません。ほんの少しの迷惑ですが、

一方で:

  1. 正しい XML を記述する必要があり、JSP よりも簡単に操作できます。
  2. ツールは即時検証を実行し、間違いをより早く発見する可能性があります
  3. 私の謙虚な意見では、構文はより単純です

jsp の代わりに jspx を使用する必要がある全く別の推論:

JSPX と EL を使用すると、JavaScript と埋め込み Java コードを組み込むことが、JSP よりもはるかに難しくなり、不自然になります。EL は、プレゼンテーション ロジックに特化した言語です。

これらすべてにより、UI レンダリングとその他のロジックをより明確に分離できるようになります。JSP(x)ページに多くの埋め込まれたコードの欠点は、簡単にテストすることは事実上不可能であるのに対し、この懸念の分離を実践すると、ロジックのほとんどが完全にユニットテスト可能になります。

JDeveloper開発者の皆さん、こんにちは!

私は 2 年以上 JSPX ページを扱ってきましたが、JSP ではなく JSPX であることに問題があったことはありません。私はJHeadstartを使用してADF Facesページを自動的に生成しており、デフォルトではJHeadstartがすべてをJSPXで生成するため、JSPXを使用するという選択はかなり強制されました。

JSPX は、ドキュメントが整形式の XML ドキュメントである必要があることを指定します。これにより、適切かつ効率的に解析できるようになります。これにより、JSP に比べてページの「将来性」が高まるという開発者たちの意見を聞いたことがあります。

Spring 3.1の公式ドキュメントに記載されているとおり

「Springは、JSPおよびJSTLビュー用のすぐに使えるソリューションをいくつか提供しています。」

また、JSPX は純粋な XML 準拠の出力を生成することを目的としているという事実についても考慮する必要があります。したがって、ターゲットが HTML5 (XML に準拠することもできますが、複雑さが増します。次のコメントを参照してください) の場合、Eclipse IDE を使用している場合は、目標を達成するのに少し苦労することになります...XHTML を生成することが目標の場合は、JSPX を選択してください。JDeveloper がサポートします...

私たちの cie プロジェクトの 1 つでは、JSP と JSPX の両方を使用して POC を作成し、賛否両論を出しました。私の個人的な推奨事項は、JSP を使用することです。なぜなら、HTML5 を非 XML で生成する方がはるかに制限が少なく、自然であることがわかったためです。また、制限も緩いからです。よりコンパクトな構文。私たちは、より制限の少ないものを選択し、JSP ファイル内に「Java スクリプトレットを入れない」などの「ベスト プラクティス」の推奨事項を追加することを好みます。(ところで、JSPX では、<% ... の代わりに jsp:script を使用してスクリプトレットを配置することもできます。%>)

@マシュー-
ADF!私が現在取り組んでいるアプリケーションには、mod PL/SQL によって生成されたプレゼンテーション層の 90% が含まれています。私はいくつかの新しい画面で作業を開始し、他の開発者に学習上の負担 (システムの複雑さの増加/システムの開発者のメンタル モデルのクラッシュ) をあまりかけずに、私たちのアーキテクチャに適合する可能性のある他のオプションを調査したいと考えました。チーム。つまり、私が JSPX に出会ったのも ADF でした。

私は「将来の証拠」の観察も見ました...しかし、それがどれほど十分に根拠のあるものであるかは知りませんでした。

JSPX は、Spring MVC / Spring Web Flow で推奨されるビュー テクノロジでもあります。

また、JSPX に関して私が発見したもう 1 つの問題は、スクリプトレットを使用する場合です。クリーンなコードは一般的に良好であり、JSP 内の Java ロジックは一般的に悪いということに同意しますが、ユーティリティ関数を使用して文字列値や何かを返したい場合には、TagLib やモデル (リクエスト属性) が過剰になる場合があります。 。

JSP のスクリプトレットについて、皆さんはどう思いますか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top