struts 2値スタックとactionContext

2919 ワード

1、値スタックの簡単な定義:
      (1)簡単に言えば、値スタックは、各リクエストオブジェクトに対応する軽量レベルのデータストレージセンターであり、ここではAction、Result、InterceptorなどのStruts 2の他の部分で使用するためにデータを統一的に管理しており、データが乱れずに集中的に管理される.
      (2)要求がある場合、Struts 2は要求ごとに新しい値スタックを作成する.すなわち、値スタックと要求は1つ1つに対応し、異なる要求では値スタックも異なる. 一方、値スタックは、操作が必要なすべてのデータを一度にカプセル化します.
      (3)値スタックと要求との対応関係だからこそ,値スタックはスレッドが各要求に対して安全に共通のデータアクセスサービスを提供することを保証できる.
      (4)はROOTルートオブジェクトであり、ognlアクセス値スタックにはアクセス接頭辞を付ける必要はなく、actionで対応する属性を宣言し、属性に対応するsetとgetメソッドを生成するだけで、ページにはstruts 2ラベルで値スタックの値を格納/取り出すことができ、EL式${username}はアクセス範囲を追加していない場合、アクセスも値スタックであり、これは最も簡単な値スタックアプリケーションにすぎない
      (5)値スタックの特徴:アクセスした値スタックに複数のオブジェクトがあり、同じ属性が複数のオブジェクトに同時に現れる場合、値スタックはスタックの上部からスタックの下部までの順序で、最初に一致するオブジェクトを探します.
 2、actionContext(actionコンテキスト)の簡単な定義:
       (1)ActionContextオブジェクト、ルート以外のオブジェクトは、Action実行のコンテキストであり、各ActionContextは、要求パラメータ、セッションなど、Action実行に必要なデータを含む基本的なコンテナである.
       (2)ActionContextもスレッドセキュリティであり,各スレッドには独立したActionContextがあり,値スタックにおけるスレッドセキュリティに値する問題を心配する必要がない.
       (3)ActionContextオブジェクトを取得する方法:
                 1つ目は、ActionContext自身のメソッドを使用して取得することです. ActionContext ctx = ActionContext.getContext();
                 2つ目は、ActionInvocationを使用して取得します.ActionContext ctx=actionInvocation.getInvocationContext()
       (4)ActionContextには多くの値が格納されている.
                  a:RequestのParameters、リクエスト中のパラメータ、ここのデータはデータオブジェクトからコピーされていることに注意してください.そのため、ここのデータの変化はリクエストオブジェクト内のパラメータの値に影響しません.
                  b:RequestのAttribute、リクエスト中のプロパティ、ここではMapで、リクエストオブジェクトのプロパティデータが格納されており、これらのデータはリクエストオブジェクトのAttributeと連動している.
                  c:SessionのAttribute,セッション中の助興,ここではMapであり,セッションオブジェクトの属性データが格納されており,これらのデータはセッションオブジェクトのattributeと連動している.            
                  d:ApplicationのAttribute,アプリケーションのプロパティ,ここではMapで,アプリケーションオブジェクトのプロパティデータが格納されており,これらのデータはアプリケーションオブジェクトのattributeと連動している.
                  e:attr、すべての属性範囲で値を取得し、page、request、session、applicationの順に検索
        (5)ongl式actionコンテキストの値を取り出す:
                   Struts 2フレームワークはOGLNContextをActionContextに設定するため、アプリケーション、セッション、requestなどのオブジェクトを表すMapオブジェクトもActionContextに入れます.
                  また、ActionContextがルート以外のオブジェクトであるため、OGLL式がActionContext(actionコンテキスト)内のアプリケーション、セッション、request、attrオブジェクトの値にアクセスする場合、
                  OGLLにルートオブジェクトではなくactionコンテキストの他のオブジェクトから値を探すように接頭辞#にアクセスする必要があります.
値スタックの値:


EL     ${      }   ognl   %{      }        Struts  
jstl-JSP Standard Tag Library、(導入:)
el——Expressiong Language
ognl——Object Graph Notation Language.
1つはラベルで、1つは式です.
jstlはservletとjspで使用できます.
strutsラベルピンはstrutsを使用したアイテムに対して使用されます.(導入:)
el式はJSPに適用され,いくつかのコードを簡略化するために用いられる.
struts 2のデフォルトはognl式なので、ognl式がstrutsと一緒に使われるとは限らないが、strutsフレームワークを使用してonglを使用することができる.
HTML<br>ラベル<br>html<br>エクスプローラ<br>css<br>HTMLタグ<br>定義と使用法<br>ラベルは、テーブルのヘッダーを定義します.このラベルは、HTMLテーブルのヘッダーの内容を組み合わせるために使用されます.<br>thead要素はtbody要素とtfoot要素と組み合わせて使用するべきである.<br>tbody要素はHTMLテーブルの本体コンテンツをグループ化するために使用され、tfoot要素はHTMLテーブルのテーブルコメント(フッター)コンテンツをグループ化するために使用されます.<br>注記:thead、tfoot、およびtbody要素を使用する場合は、すべての要素を使用する必要があります.これらの出現順序はthead、tfoot、tbodyであり、ブラウザはすべてのデータを受信する前にフッターを表示することができます.これらのラベルはtable要素の内部で使用する必要があります.<br>ヒント:デフォルトでは、これらの要素はテーブルのレイアウトに影響しません.ただし、CSSを使用すると、これらの要素をテーブルの外観を変更できます.<br>詳細な説明<br>thead、tfoot、およびtbody要素を使用すると、テーブル内のローをグループ化できます.テーブルを作成するときは、ヘッダー行、データのある行、および下部にある合計行を持つ必要があります.この分割により、ブラウザは、テーブルヘッダーとフッターから独立したテーブル本文のスクロールをサポートできます.長いテーブルが印刷されると、テーブルのヘッダーとフッターがテーブルデータを含む各ページに印刷されます.<br>≪インスタンス|Instance|emdw≫<br>thead、tbody、およびtfoot要素を含むHTMLテーブル:<br>Month Savings Sum $180 January $100 February $80 <br>ブラウザのサポート<br>ラベルは、すべての主流ブラウザの一部でのみサポートされています.<br>興味があるかもしれません<br>マルチスレッドプログラミングの貯金とお金を取る周凡楊javathreadマルチスレッド貯金お金を取る<br>JAvaにおける配列とListの相互変換方法征客丶JavaScriptjavajsonp<br>Shellフロー制御daizjフロー制御if elsewhilecaseshell<br>Linuxサーバー初心者操作の2週間凡楊Linux簡単操作<br>socketチャットルームのサーバー構築朱輝33 socket<br>fineereportを利用して保険会社の意思決定分析システムを建設する構想と方法老Aはfineereport金融保険分析システムレポートシステムプロジェクトの開発を振り回さない<br>常にifreamの最上階にページを置く<br>MySQL binlogリカバリデータaigo mysql<br>アルファベット別:ABCDEFGHIJKLMNOPQRSTUVWXYZその他<br>トップページ-私たちについて-サイト内検索-Sitemap-権利侵害クレーム<br>著作権すべてのIT知識ベースCopyRight© 2000-2050 IT知識ベースIT 610.com,All Rights Reserved.京ICP備09083238号