ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

Strutsの要素技術の基本的構造(その2 基本的ソースを画面定義書から)

2009-08-27 14:32:39 | Weblog

まえに、Strutsの要素技術の基本的構造というのを、その1だけ書いて、以降、何も書かなかったので、これから、続きを書いてみる。

 まず、前に書いた流れだと、はじめ、

○Strutsを基本的に構成するもの
   Action
   ActionForm
   Struts-config.xml
   JSPファイル


 なので、これらのファイルと、画面定義書の関係を示して、設計から、プログラムにどのように落ちてくるかについて、書きたいと思います。
 で、画面定義書は、主に、画面遷移図と、各画面レイアウト説明(っていうのかな?)に分かれると思います。
 今回は特に、「各画面レイアウト説明」のどの部分から、それぞれのソースが出来てくるかについて、書きたいと思います。

 で、画面定義についてなんですが、今回は、発注者ビューガイドラインのVer1.0(2008年7月)版、第一部-71ページ(PDFのページ数は88/291)の右の図



著作権表示:CopyrightまるC2008 IPA
(まるCは、著作権のコピーライトのCです)

をもとに説明します。




■各ファイルの概要

まず、各ファイルの概要について書きます。

(1)Actionクラス
 ここのexecuteに処理内容が書かれる。

(2)ActionForm
 画面の内容のBean(フォームBean)
  ・画面項目
  ・項目のSetter
  ・項目のGetter
 が基本的に書かれている。
  ・初期化のresetや、
  ・値チェックのvalidate()
 もここにかかれることがある
 (validatorを使う場合、ActionFormでなく、ValidatorFormを使う)

(3)Struts-config.xml
 以下の内容が書かれる
 ・data-sources
  データベース接続に関して使うこともある

 ・form-beans
  ActionForm等のフォームBeanをかく

 ・action-mappings
  Actionの定義と、forward先について

 ・global-exceptions、global-forward
  全体として、飛ばし先を決めたり、例外・エラー画面を決めたりするとき

 ・message-resources
  メッセージをまとめたメッセージリソースについて

 ・plug-in
  プラグイン(validatorはプラグイン)

 ・その他もろもろ
  controllerにかかれることもある
 
(4)JSPファイル
 画面を記述する。ここで、strutsタグを使って、ActionFormの入出力項目と結びつけたり
 bean:writeをつかって、beanやセッションの内容を画面に記述する




■画面定義書からプログラムへ

 では、上述の画面定義書が、どのようにプログラムに関係していくかという話なのですが・・・

(A)画面定義書の「使用する部品」から、
   「JSP」、「ActionForm」、「Actionクラス」が決定します。

 使用する部品(項目)の「画面部品の種類」(=型)が、
  テキストボックスのような入力するものであれば、該当項目を
      JSPでは、HTMLタグなどを使って、入力項目のタグを作り
      ActionFormでは、対応する部品のフィールド、setter,getterをつくります
    なお、「画面部品の種類」と表示範囲から、エラーチェックがかけますが、これは
      ・JSPにjavascriptとして書く
      ・Validatorを使って書く
      ・validateで書く
      ・action内に書く
    と、いろいろありますので、てきとーに決めて(決める基準あります)かきます。     

  ボタンであれば
      Actionをつくります。
    このとき、1画面にボタンが複数ある場合
      1画面1アクションでメソッドがボタンごとに変わる
      1画面1アクション1メソッドでメソッド内切り替え
      1ボタン(イベント)1アクションでつくる(1画面で複数アクション)
    の3通りの作り方がある。詳しくは何回か先に話す。
    Actionの内容は、「操作手順」から読み取るしかない??

  出力のみの項目であれば
    Strutsタグのbean:writeを使って書きます。
    値はSessionに入れておけば、nameで指定すればかけます。
    bean(フィールド、setter,getterがあるクラス)の場合、それをsessionに入れれば、
      name=セッションに入れたbeanのキー名 property=フィールド名

  表示しない場合
    StrutsのHTMLタグのhiddenでかけます。  

(B)画面定義書のレイアウトからJSPが決まります。
  ですが、たぶん、このレイアウト、HTMLで書いているから、その場合、
  拡張子をJSPにして、その後、上記の
    HTMLタグ
    bean:writeタグ
  などのstrutsタグをいれます(logicも)

(C)(A)で決まった、ActionとActionFormからstruts-config.xmlがかけます
   Action=actionタグ(action-mapping内)
   ActionForm=form-beanタグ(form-beans内)



 次回は、画面遷移図と、action,struts-config.xmlの関係


この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« ホワイトスペースを通信に使... | トップ | アマゾンも企業内クラウドな... »
最新の画像もっと見る

Weblog」カテゴリの最新記事