AJAX フレームワーク1日目
1、Ajaxの紹介
a)のコンセプトA 同期 Jはavascript のNd XML(非同期要求JavascriptとXML)
b)は、従来のリクエスト
- 要求を開始する従来の方法
- アドレスバー
- スーパーリンク
- フォーム
- Javascriptを:LOCATION.HREF機能
- 伝統的な要求での問題は、
伝統的な応答は、新たなページを(ページを更新)を要求することであるため。そのため、ユーザーは、後続の操作ができ、応答結果を待つ必要が。
悪いユーザーエクスペリエンス。
- 非同期リクエストの特性に基づいて、
応答の内容新しいページ、ローカル、文字列情報のページではありません、非同期要求の使用中のユーザは、応答を待たずに、その後の処理を直接実行することができます。
- 従来の非同期要求要求の違い
- 内容に応じて、
伝統的な応答の内容:新しいページ、ページリフレッシュ
ローカル、文字列情報のページ:非同期応答の内容を - 以下のためのユーザによる操作
の応答を待っている:伝統的な要求
の非同期要求:応答を待たずに、ユーザが直接、後続を操作することができます
- 内容に応じて、
- 適切な場面で推奨、ユーザーエクスペリエンスを向上させるための非同期要求を使用
2、非同期要求の開発
a)は、非同期リクエスト・オブジェクトを作成
するJavaScript:XMLHttpRequestがXHRオブジェクト
Chromeを|のXMLHttpRequestでサファリを| FF
)(XmlHttpRequestのVAR =新しい新しいXHR;
のIE(IE5 IE6)ActiveXObjectをするに
VAR =新しい新しいXHR ActiveXObjectを( "Microsoft.XMLHTTP");
b)はXHRオブジェクトを使用します
3、ケース検出名
もはやジャンプ
フォーム、提出の検出時間を提出するかどうかをコントロール
4、Ajaxの開発ステップ
a)は、非同期要求作成
IEベースXHR =新しいActiveXObjectを( "Microsoft.XMLHTTP" );
非IEベースXHR =新しいXmlHttpRequestの()。
b)の要求にのqueryStringの送信
xhr.open( "GET"、URL名=&サンズ= PWD = 123&セックスMALE);?
; xhr.send(ヌル)
)(非同期かどうかをtrueにxhr.open( "POST"、URLを、);
XHR .setRequestHeader( "コンテンツタイプ"、 "アプリケーション/ x-www-form-urlencodedで")。
セットなぜ:アナログ形式
の基本的なWeb開発者がデータを提出するフォームを使用することができ、デフォルトでは、フォームの使用して提出するデータを指定しない
のenctype =「アプリケーション/ X-WWW -体- URLエンコードを」、 しかし今はもはや使用中、Ajaxプログラミングを使用して
、<タグを形成しますこれは、属性のenctype方法に対応する値を提供しませんでした。この時間が必要とする
手動でアプリケーション/ X-WWW-フォーム-セット URLエンコード形式をシミュレートするために要求ヘッダーを。
xhr.send( "名前=太陽&PWD = 123&セックス=男性");、 引用符でデータを通信します、
C)応答をリッスン
xhr.onreadystatechange =関数(){
IF(xhr.readyState == == 200 xhr.status &&である。4){
xhr.responseText
DOMプログラミング
}
}
d)のサーバー側:
しかし、文字列情報を返すことによって、完全な相互作用がないページジャンプ
リクエストスコープが使用されていない
出力底流を得るが使用されているresponse.getWriter()相互作用
。5、JSONプロトコルストリング
JSONプロトコル文字列は、本質的に、文字列です。
A)作用:異種システムプログラミング、データ伝送、インタラクティブ。
b)のコア:
- これは、書式文字列を定義します
- オブジェクトフォーム
- 集計フォーム
- 埋め込みオブジェクト
- Map型のオブジェクトと一致フォーム
- JSONのプロトコル解析のさまざまなツールが自動的に変換することができますサポートする
Javaの終わりを:ライブラリJSONlib GSON(グーグル)FASTJSON(アリ)jakeson(SpringMVC)
Gson //オブジェクトには、中括弧、小括弧の集合です
- オブジェクトフォーム
オブジェクトは書くことのようにマップがあることに注意してください、中括弧
- Gson的基本应用
Gson gson = new Gson();
gson.toJson();
- Gson特定のアプリケーションシナリオ
-
属性名Aと矛盾)JSON文字列オブジェクトのプロパティ名の問題
b)は、ループ問題解決オブジェクト
- ノート@Expose
財産の@Expose注釈付きは除外され、変換されません
あまりにも、柔軟性のない複雑な両方gsonbuilderによって
- そして、インターフェースを使用
(除外Gsonの内容に注意してください)除外ポリシーのインターフェースを実現するために
-
あなたが複数の除外ポリシーを指定することができ、より柔軟な
問題の特殊なタイプのC)日付
- インターフェイスを実装します
-
- GsonBuilderにサインアップ
- オブジェクトは、JSON JS(組み込みブラウザ、jqueryの、拡張..)に変換
ブラウザ組み込みオブジェクト、後続の推奨のjQuery
JSON.parse(JSONString)JSオブジェクト-----
----- JSアレイ
6、ケース:ユーザー情報を表示するために使用されるAjax技術の応用
AJAX フレームワーク2日目
1、AjaxのためのSpringMVCのサポート
a)はオリジナルの統合統合底
B)@ResponseBodyによって
自動的SpringMVC JSON文字列にオブジェクトを変換し、文字出力ストリームによります。
注:@ResponseBodyカプセル化されたオブジェクトのコンポーネントが変換JSONジャクソンある
環境構造:ジャクソンジャーパッケージに関連する導入する
現像工程と、
- キー属性名は、JSON文字列と矛盾しています
-
- 日付フォーマット・タイプ
@JsonFormat(パターン= "YYYY-MMは -DD") - ヌルタイプは変換されません
@JsonInclude(インクルードを。NON_NULL) - プロパティを無視する方法
@JsonIgnore - 漢字は、自動処理を設定します
独創的なアプローチ
自動日付処理ヌル値に基づいて実際の処理
2、Struts2のとAjax技術の統合
プログラミングを考えるの3、Ajaxベースの方法:
現在の開発システム(easyui内線道場)プログラムのAJAX UIフレームワークを使用することに加えて、開発に、アプリケーションによって使用される残りの部分は、セッションのAJAX一部を使用する必要があります。
1つのローカル操作は、サーバ側との対話
2、好ましくは、簡単な構造であります