Struts 2【UIラベル、データエコー、リソース国際化】

6434 ワード

Struts 2 UIラベル
Sturts 2は、私たちの開発を簡素化するために、UIラベル、つまりページを表示するラベルを提供しています.
しかし、Struts 2はサービス側のフレームワークなので、ページのラベルを使うにはサーバー側で解析してブラウザで解析し、最後にページに表示する必要があります.そのため、その性能はHTMLタグが良いほどではありません...HTMLは直接ブラウザで解析することができます
もう一つは、私たちがウェブページを書くときは、div+cssのページレイアウトを使う必要があるに違いありません.Struts 2 UIタグを使っても乾きません....そのため、必要以外はStruts 2 UIタグを使います
Struts 2 UIラベルの簡単な使用




ソースファイルを見ていると、Struts 2 UIラベルには自動的に多くのラベルが追加されています.
テーマの設定
すでに述べたように、Struts 2 UIタグは私たちに自動的に多くのタグを追加してくれましたが、その時、私たちは欲しくない、あるいはスタイルを変えたら、どうしますか??
Struts 2 UIタグも「テーマ」という機能を提供しています...
フォームにthemeプロパティをsimpleに設定すると...ソースファイルStruts 2が自動的に追加したラベルがすべてなくなりました.
プロジェクト全体がsimpleをテーマにしたい場合は、プロファイルで構成できます.

  

データエコー
私达はデータの回现に対してもよく知らないことはできなくて、EL式を使う时すでにデータの回现を使いました....それではどうしてデータの回现はStruts 2ラベルのここで说明しますか??Struts 2では、データのエコーもサポートされています.また、データのエコーを使用するには、Struts 2のラベルを使用する必要があります.
正常な考え方に従ってデータを書いて表示します
Strutsでは、通常の考え方でデータを書き込みます.
  • requestドメインにデータを格納し、対応するJSPページにジャンプ...
  •     public String login() {
            //        
            Map request = ActionContext.getContext().getContextMap();
    
            request.put("username", "zhongfucheng");
            request.put("password", "123");
    
            return SUCCESS;
        }
  • JSPページはStruts 2ラベルを使用し、value属性を設定することでデータを表示することができる
  • .
    
    
  • 効果:
  • Struts 2が提供するデータのエコー
    実は、上のコードはすでにデータのエコーを実現していますが、Struts 2はより巧みな方法を提供しています.
    つまり、Struts 2は直接nameでデータのエコーを実現することができます....
  • ルート要素の下に表示されているデータ、つまりComponentRootに保存されているデータ【ルート要素に保存されているデータは#番号を使わずに取得できます】
  • そこで、エコーしたいデータをCompoundRootの下に置きます.
  • 値スタックに直接配置するデータがルート要素データ
  • である.
    
            //      
            ValueStack valueStack = ActionContext.getContext().getValueStack();
            valueStack.set("username","zhongfucheng");
  • はJSPで直接
  • を取得できます
    
      
  • 効果:
  • Struts 2ラベル:checkboxlist
    参考自博文:http://www.blogjava.net/koradji/articles/307399.html
    構文:
  • nameはラベル名を定義し、画面で選択されたチェックボックスを受信するために使用されるので、Actionで定義された属性と一致し、多くは配列であるべきである.
  • listは集合変数を定義し、チェックボックスを画面に出力するために使用され、一般的にActionでListまたはMap属性を定義する.
  • listKeyアクションでリストが定義されている場合、リストにBeanが定義されることが多い.これは2つの属性しかなく、そのうちの1つ(例えばid)がここで設定されている.
  • Actionで定義されているMapであれば、Mapのkeyはここで設定されます.

  • listValue Actionでリストが定義されている場合、リストにBeanが定義されることが多く、2つの属性しかなく、もう1つ(例えばname)がここで設定されています.
  •     Action       Map, Map value      ;

  • valueは、画面で選択されたチェックボックスを表示するために使用され、画面に入力チェックがある場合、エラーがある場合は元の画面に戻り、エラー情報を表示する場合に使用する必要があります.
  • は一般的にnameと一致するようにすればよい.


  • 例:
    すべてのロールをクエリーし、ユーザーとロールのすべてのidを取得しました.配列にカプセル化する.
    
        public String editUI() {
    
            //          ,    JSP    
            ActionContext.getContext().getContextMap().put("roleList", roleServiceImpl.findObjects());
    
            //      id   ,     id   User
            if (user != null &&user.getId() != null  ) {
                //      ,  JSP   User getter         !
                user = userServiceImpl.findObjectById(user.getId());
    
                //     id     UserRole
                List roles = userServiceImpl.findRoleById(user.getId());
                //        id      ,       JSP  
                int i=0;
                userRoleIds =  new String[roles.size()];
                for (UserRole role : roles) {
                    userRoleIds[i++] = role.getUserRoleId().getRole().getRoleId();
                }
    
            }
            return "editUI";
        }

    name値は配列であり、自動エコーに使用できます.Actionがキャラクタのidを得るのもそれによって
    
      

    資源の国際化
    私达はJSTLのラベルを学ぶ时に资源の国际化に関わって、、、、しかし、JSPの章節で私は博文を书いてどのようにすることを说明していません.....一方でJSPの资源の国际化は面倒だと感じて、一方では使う地方が少ないと感じて.....そのため深くそれを理解していません...
    今日は、Struts 2のリソースの国際化を学びました.JSPリソースの国際化の手順を見直し、Strutsのリソースの国際化を比較します.
    サーブレットとStrutsリソースの国際化の違い
    サーブレットでリソースを国際化するには、次の手順に従います.
  • リソースファイルの書き込み
  • 基礎名.properties【デフォルト】
  • 基礎名_言語略称_国家略称.properties
  • プロファイルの読み込み
  • jstlが提供するフォーマットと国際化ラベルライブラリ.


  • Struts 2での書き込みリソースの国際化の手順:
  • リソースファイルの書き込み
  • 基礎名.properties【デフォルト】
  • 基礎名_言語略称_国家略称.properties
  • プロファイルを読み込み再使用
  • strutsラベルリソースファイルコンテンツ
  • を取得

    違い:
    Struts 2はリソースファイルをロードするのがもっと簡単で、定数構成でいいです!提供されるStrutsラベルはより簡単に使用できます
    資源国際化Demo
    次はStrutsを使って資源の国際化のDemoを書きます....
    リソースファイルの書き込み
    IDEAの下にpropertiesリソースファイルを書くのは、中国語に関連する場合、デフォルトではエンコードされません.それはeclipseのようなものではありません...そのため、手動で設定する必要があります......設定されたチュートリアルは私のIDEAブログにあります...もしこの問題が発生したら、IDEAブログの下に行って探してください.の
    Strutsで定数を使用してリソースファイルをロードする
    Strutsでcontantノードを直接使用して、自分で書いたプロファイルをロードします.注目すべきは、valueの値はファイルのフルネーム(つまり、パッケージがあればパッケージ名を書く)....そして、接尾辞を書く必要はありません...
     

    Strutsラベルの国際化の使用
    nameの値はプロファイルで構成されている情報で、書けばいいです!
    
    
        <text name="title"/>
        
        
        
    
    
    
    




    テスト
    注意、titleはすでに中国語に置き換えられました!!
    文章に間違いがあれば指摘を歓迎し、みんなで交流します.微信で技術の文章を読むことに慣れて、もっと多くのJava資源を獲得したい学生は、微信の公衆番号に注目することができます:Java 3 y