6

jsp/jstl と jQuery を使用して Web アプリケーションを開発していたときは、スタイルやスクリプトとは別に、素敵な html コードを書いていました。JSP はいくつかの奇妙なスペースと空白行を挿入しましたが、他には何も挿入しませんでした。

今、私はjsfで開発しようとしています。JSF には多数のコンポーネントで RIA を作成するためのライブラリがたくさんあるため、jsf といくつかのコンポーネント ライブラリを使用して Web アプリを開発する方がはるかに高速です。

しかし、私がすでに試したすべてのライブラリは、いくつかの追加の隠し入力とhtml内のスタイリングが混在したスクリプトと混合されたひどいhtmlを生成します。これらのライブラリは、多くの場合、テーブル レイアウトも提供します (さまざまな Panel、GridPanel、およびその他のコンポーネントを使用)。

私にとってはひどいものに見え、html でこのような大きな混乱を見ることはできません。

正確にはわかりませんが、ASP.NET が同様のものを生成すると思います。

では、質問: これは Web 開発の新しい標準ですか? 高速でダーティな html を作成しますか?

4

3 に答える 3

2

JSF 実装は、有効なマークアップを生成する傾向があります。したがって、「ダーティhtml」ではありません。人間が簡単に読めないという事実は重要ではないため、質問に答えるために-生成されたコードは受け入れられます。

昨日、MyFaces/RichFaces アプリケーションで PageSpeed と YSlow のテストを実行しましたが、複数の CSS ファイルと JS ファイルを 1 つに結合できないこと (http 要求の数を減らすこと) を除けば、他のすべては問題ありません。

于 2009-12-10T15:33:38.360 に答える
2

JSP はいくつかの奇妙なスペースと空白行を挿入しましたが、他には何も挿入しませんでした。

ちなみに、その空白はトリミング可能です。Tomcat とクローンでは、必要なのはJspServletの init パラメータtrimSpacesをに設定することだけtrueです。

しかし、私がすでに試したすべてのライブラリは、いくつかの追加の隠し入力とhtml内のスタイリングが混在したスクリプトと混合されたひどいhtmlを生成します。これらのライブラリは、多くの場合、テーブル レイアウトも提供します (さまざまな Panel、GridPanel、およびその他のコンポーネントを使用)。

これが主な懸念事項である場合は、基本的な JSF 実装に進んでください。必要に応じて、より強化されたコンポーネント (テーブルレス ラジオ/チェックボックスなど) や不足しているコンポーネント (ファイルのアップロードやデータ リストなど)についてTomahawkの助けを借りて、必要に応じて開始する必要があるすべてを提供します。

このようにして、通常の方法で CSS を実行できます。別のファイルで完全に外部化され、styleClassJSF でのみ使用されます。style属性を使用してインライン CSS を混ぜないでください。コロンで区切られた JSF クライアント ID (CSS ではコロンは不正な識別子です) をスタイル化する場合は、バックスラッシュを使用してセレクターでエスケープするだけです。#formid\:inputid { background: gray; }

また、属性を使用してインライン スクリプトを混在させないでon*ください。jQueryを使用して控えめなJavascriptを導入します。JSF コンポーネントから自動生成された Javascript に関しては、基本的な実装では、基本h:commandLink的に<a>非表示の POST フォームを送信する要素であるこれのみを取得します。これは意味論的/技術的/SEO的に間違っているため、私はまったく使用しません。h:commandButtonフォームの送信とh:outputLinkナビゲートに使用するだけです。

テーブルのデザインに関しては、JSF 1.2 以降、プレーンな HTML をテンプレートに記述できます。<div>要素を使用して、配置されたコンテンツ要素を定義できます。純粋主義者であれば、JSF<h:panelGroup layout="block">を使用して HTML<div>要素を取得することもできます。<h:panelGrid>コンテンツ要素を配置するために を使用する必要はまったくありません。

正確にはわかりませんが、ASP.NET が同様のものを生成すると思います。

します。

では、問題は、これは Web 開発の新しい標準であり、高速でダーティな html を作成することでしょうか?

いいえ、あなたの手の中にあります。

于 2009-12-10T15:54:37.910 に答える
0

JSF (およびすべてのコンポーネント ライブラリ) によって生成された HTML は非常にひどいものですが、それでも有効です。

主な問題は、生成されたコードが、Internet Explorer 6 以降、Firefox、Opera、Chrome など、市場に出回っている主要なブラウザーに準拠している必要があることだと思います。すべてのブラウザで動作します」...

于 2009-12-10T15:52:26.917 に答える