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

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

Strutsの要素技術の基本的構造(その5 複数ボタン 概要)

2009-09-02 16:24:36 | Weblog

Strutsの要素技術の基本的構造の話

 前回までで、基本的なファイルは書いたので、今回から、細かいテクニック的な話。

 まずは、複数ボタンの処理について。




■複数ボタンの処理とは

複数ボタンの処理というのは、

のように、複数のボタン(ここでは、足すと引く)が1画面にあり、

足すを押されると


引くを押されると


のように、処理を分けたいケースのこと。




■何が問題なのか?

 strutsでなければ、これは、ボタンを、あるForm内に、submitボタンでつくり、その場合、nameを一致させて、ボタンのvalueをかえることによって、処理を切り分ける。

 Strutsの場合、Formが同じで、submitボタンが複数あり、propertyが同じ場合、同じActionが呼び出されるが、そのとき、もしボタンが英語ならば、DispatchActionを使えば(ActionのかわりにDispatchActionを継承すれば)そのボタンのvalueに設定した値(この値でボタンが表示されている)がメソッドとなり、呼び出される。
 つまり、value=updateなら、updateとボタンが見えて、それをクリックすれば、updateというメソッドが呼び出される。

 ところが、日本の場合、ボタンは日本語になる。
 しかし、日本語のメソッドをJavaで作ることが出来ない(そーいうjavaの規約)。なので、この方法は使えない。
 そこで、LookupDispatchActionを使って、表示内容とメソッドの対応を作ってやる

 ・・・という方法が本などでは書かれているが、

 これが(後日書くけど)めんどっちいいのだ・・・




■実は、複数ボタンの処理は、3通りある。

 実は、複数ボタンの処理方法は、

(1)submitのname(property)を変えてしまい、値が入ってくるかどうかで見る
(2)javascriptを使って、Action等を切り替える
(3)LookupDispatchActionを使う

の3通りどれでも出来る。
 このうち、(3)が、一番複雑で面倒だ(だが、これがよく紹介されている)。

ということで、次回から、この(1)、(2)、(3)をそれぞれ、サンプルを挙げてみてみる。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

「地デジ2.0」

2009-09-02 13:42:09 | Weblog

前に ホワイトスペースの利用としてのデジタルサイネージや特定ワンセグテレビで書いた、「特定エリア向けワンセグの話。

 そもそも、放送エリアっていう観点で考えると、
 テレビは、こんなくらいに分類できると思う。

・全国ネット:現在の民放テレビ局、NHK
・広域ネット:複数の県にまたがる地域
・県レベル
・市町村レベル
・超近距離:同時通訳の同通レシーバーや、免許のいらないトランシーバーレベル

 昨日書いた、携帯端末向けマルチメディア放送は、ここ(PDF)によると、とりあえず広域ネットレベルまでを考えているのであって、県、市町村レベルではないように読み取れる(その後検討する形)




 しかしこれでは、現状の地方テレビ局をワンセグでやるのと大して変わらない。

 テレビは、全国的な人が、一般の人へ、上から下に向かって放送している形式である。
 この構図が、全国→地方に変わっただけで、上から下に向かって放送している点では同じで、

  局地的なゲリラ雷雨情報といった、市町村レベルの話や、
  商店街の話題、小中高校情報、地域の災害非難情報など、
    一般の人がコンテンツを作成し、それを一般の人が見るといった、
    Web2.0的なもの

は、できない。

 でも、FMにおいては、コミュニティFMっていうのがあって、この役割を果たしている。
 また、ケーブルテレビは、このような地方番組を流すことがある。

 ってことは、現在の地デジワンセグのホワイトスペースに、コミュニティFMレベル、つまり、10W程度の出力で、市町村レベルのテレビ番組を流しても、いいんじゃないか?っていう話になってくる。

 いや、FMは、現に、ホワイトスペースに、コミュニティFM流してるんですから・・・
 それを、TVでやっても、文句はないんじゃあ(^^;)

 そーなってくると、一般の人がコンテンツを作成し、それを一般の人が見るといった、Web2.0的なワンセグテレビ、「地デジ2.0」が起こってくるんじゃないか?




 今までの上から下に流すテレビを「地デジ1.0」とすると(って、それすら、地デジの世界では、まだ起こってない?)、ここでは、全国ネットの放送しか出来ない。なので、テレビを見る人が減ると、広告代理店は収入が減ることになる。
 もちろんテレビコンテンツの必要性もヘリ、アニメなどの時間も減って、その産業が打撃を受けることになる。

 そこで、「地デジ2.0」によって、放送局を増やせば、一部地域におけるアニメなどが増えて、コンテンツ需要も増えるし、広告代理店は、放送局が増えるんぶん、CMも増やせ、景気向上策になる。

 送信機も、売れるわけだし・・・・




 で、ここまでは、「地デジ2.0」といっても、いままでのテレビと違わない部分の話。
 ここからデジタルサイネージの話とか、あと「超近距離」におけるテレビの話なんかがつづいてあるわけなんだけど、それについて書くと長そうなので、次回ということで、今回はこの辺で・・・



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

画面は業務系とマスタ系に別れ、マスタ系は1エンティティ1テーブル2画面が基本

2009-09-02 11:19:00 | Weblog

 ER図、アクティビティ図、画面との関係、たとえば、発注者ビューガイドラインの「データモデル編」、「システム振る舞い編」、「画面編」の関係について考える


■業務系とマスタ系


 画面(を含めた入出力)は、大きく2つに分かれる。

  業務(トランザクション)系 と
  マスタ系

 業務系は、発注者ビューガイドラインの「システム振る舞い編」で記載されるような、「業務流れ図」で、処理内容とその入出力(=画面を含む)が記載される。
 そこで、業務系の画面は、「業務流れ図」を見るとわかる。

 一方、業務で、すべてのデータが作成・編集・削除できるわけではない。
 業務以前にデータが存在していることもある。
 このデータの作成・編集・削除もしなければならない。
 これが、マスタ系となる。
 したがって、マスタ系は、データモデルを記載したER図において、業務流れ図で作成されないエンティティが、対象となる。

 まとめると、こんなかんじ

 画面
  業務系=業務流れ図で、画面として記載
  マスタ系=ER図のエンティティ-業務流れ図の入出力ファイル

 なお、マスタ系とトランザクション系の区別は、これ以外の区別もある。
 それと、トランザクション系であっても、後述するマスタメンテナンス画面を作成し、マスタ系として扱う場合もある(受注など)。




■マスタ系の画面構成

 業務系は、画面が明示してあるため、その画面を作成すればよい。
 しかし、マスタ系に関しては、テーブルが上記操作によってわかるだけであり、いったい、どういう画面を作ればいいのかがわからない。

 そこで、テーブルと画面の対応が必要になる。

 まずここで、正規化されていて、ER図の1エンティティ1テーブルになっているとする。
 (っていうか、これから話すのは1テーブルに対しての話で、その前にER図とテーブルの対応関係が必要になる。それを仮に1エンティティ1テーブルまで詳細化されていたとするということ)

 そうすると、以下の図のようなエンティティの場合、

 つまり、1対多の多側のエンティティの場合、

・一覧画面(多だから)
・詳細/編集画面(その中から1つを選んで編集)

 の2つの画面が必要になることが基本となる。




■2つの画面の構成

●一覧画面は多の部分、つまり対象の全部が一覧(表が多い)で表示される。

 表全体が表示される場合もあるが、一部だけの表示が多い。ただし、一意になるように表示されないといけない(たとえば、氏名と生年月日だったら、社員ならいいかもしれないけど、年金とかのシステムだと、同じ人が何人も出て区別がつかないので、区別できるキーなどがないといけない。一方、コードだけだとわかんなーいとなってしまって、これは事実上、一意にえらべなーいとなるので、こーいうのもいけない)

 そして、この画面から、1つ(編集の場合、複数選べることもある)を選び、編集なり、詳細が見れるようになっている。削除をこの画面からすることも多い。

●詳細/編集画面は、1レコードについての編集、詳細内容が見れる。
 編集、表示してかまわない項目の全項目が見れるのが普通。
 ここで、詳細表示をするほか、編集ができる。追加の場合は、いきなりこの画面になる。
 削除は、この画面にある場合もあるが、そのときは、1レコード削除となる。




■バリエーション

・画面が1画面の場合

 まず、1対多ではなく、1対1のとき(たとえば、継承などで、社員→正社員のような関係)は、一覧画面がない。

 また、データ項目がすくなければ、詳細画面は要らず、一覧画面だけで、追加・削除・編集を行える。この場合、詳細+一覧の画面にするか、表計算ソフトのように、一覧画面のところが編集できるようにするかなど、いろいろ画面レイアウトはありえる。


・画面が2画面以上のとき
 2画面構成だと、検索ができないので、検索画面を追加する場合がある。
 また、編集画面と、詳細画面を分ける場合もある(編集画面は入力不可のところを作った場合、すべて入力不可=詳細画面となるが、あえて詳細画面を分けるケース)。

 SugarCRMだと、このケースで
   一覧画面=ListView
   編集画面=EditView
   詳細画面=DetailView
   検索画面=SearchForm
 となる。



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする