JP2008171281A - 表示画面構成装置 - Google Patents
表示画面構成装置 Download PDFInfo
- Publication number
- JP2008171281A JP2008171281A JP2007005170A JP2007005170A JP2008171281A JP 2008171281 A JP2008171281 A JP 2008171281A JP 2007005170 A JP2007005170 A JP 2007005170A JP 2007005170 A JP2007005170 A JP 2007005170A JP 2008171281 A JP2008171281 A JP 2008171281A
- Authority
- JP
- Japan
- Prior art keywords
- model
- check
- screen
- display screen
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
【解決手段】非オブジェクト言語で記述された画面プログラムを、画面表示を行うビューと、画面表示に対する外部処理ロジックであるモデルに分割して、ビューとモデルをバインディング設定により関連付ける。複数のビューを同じモデルに関連付けることで、複数の画面で同じ値が表示される場合に、モデルに処理を施すことで、全ての画面での表示に同様に処理の結果を表示させることが出来る。また、モデルには、画面からの入力値への制限を記述するスキーマを関連させ、画面からの入力値が正しい形式で入力されているか等のチェックを一括して行う。
【選択図】図1
Description
まず、図25の表示のための初期化動作では、HTML文や、画面部品タグ、外部チェックスクリプト10をフレームワーク11が読み込む。フレームワーク11は、たとえば、ウェブブラウザに読み込まれ、HTML文等を解釈し、解釈結果に従った表示を作成する処理を行うプログラムである。読み込みは、フレームワーク11のHTML解析、部品作成器13が行い、HTML文を解析し、必要な画面部品を作成する。作成された画面部
品12は、HTML文、画面部品タグ、外部チェックスクリプトに記載された内容に従ったものであり、たとえば、入力データのチェック機能を持ったものである。
ブラウザ内部でイベントが発生すると、画面部品16のイベント解析部18に通知される。ここで、HTML DOM(HTML Document Object Model)20は、ブラウザ内部に実装される、標準的なHTML文書の処理機能である。イベント解析部18で、発生したイベントの種類がわかると、内部チェック部19で、発生したイベントに対する、画面部品内でのチェック(正しい入力内容か等のチェック)が行われる。内部チェックの後には、外部チェック部20が、外部チェックスクリプト17に、内部チェック以外の入力に対するチェック処理を依頼する。外部チェック部20の処理が終わると、画面更新部21がブラウザに表示内容の更新を依頼する。また、外部チェックスクリプト17も、独自に、ブラウザに表示内容の更新を依頼する。
特許文献1には、スケルトンプログラムに「データ変換命令」を用意しておき、その内容を入力されたデータの内容によって置き換える方法が開示されている。
図1に示されるように、本発明の実施形態では、JavaScript(登録商標)において、モデル(表示画面に対する処理ロジックの集まり)とビュー(画面に表示を行うためのプログラム)を分離し、その間をバインディングのしくみで繋ぐことにより、データの自動更新を可能にする。また、スキーマ記述(入力表示内容に対する制限を記述するプログラム文)を元に、モデルをチェックし、ビューに自動反映する。アクション設定は、ビューに対する所定のイベントが発生した場合にビューが行うべきアクションを規定する。モデル
は、共通API(Application Program Interface)を介して、他のアプリケーションからの操作を受け付ける。
Notation)で記述された処理ロジックをモデル、画面部品をビュー、その他のロジックをコントローラというようにJavaScript(登録商標)にMVCモデルを導入する。
図3のテキストフィールドにあるモデルをバインドする場合には、以下のような記述を行う。
model={name:'abcde',price:'1000'};
RCF.bind('model',model);
<div rcf: id = "text1" rcf : type = "TextInput" rcf : value = "{model. name}" > </div>
<div rcf : id = "text2" rcf : type = "Text" rcf : value = "{model. name}" > </div>
<script src=”rcf.js”></script>
フレームワークは、複数のスクリプトのファイルで構成されるかもしれないが、rcf.jsがその他のファイルを自動的に読み込むため、ユーザが記述しなければいけないのは上記のrcf.jsの読込みの指示だけである。
model1= { name: 'abcde', price: '1000' };
schema1 = { price: { type: integer, check: function(value) { if (value < 0) return false; else return true; } } };
RCF.bind('model', model1, schema1);
<div rcf:id="model" rcf:type="Model" rcf:model="model1" rcf:schema=”schema1”></div>
ここで、変数model1は、modelという名のモデルとして使えるようになる。
バインドは、以下のように記述する。
<div rcf:id="a" rcf:type="TextInput" rcf:value="{model.price}"></div>
<div rcf:id="av" rcf:type="ValidationHandler" rcf:target="a" rcf:event=”blur”
rcf:success=”a.color='black'” rcf:fail=”a.color='red'”></div>
TextInput部品は、テキスト入力を行う部品である。ここで、rcf:value="{model.price}"と記述することにより、このTextInput部品は、modelという名のモデルのprice変数にバインドされる。すなわち、このテキスト入力部品に値を入力すると、model1のprice変数に値が伝わる。なお、ここでは、当該TextInputに対応するアクション部品も記述している(ここの例では、ValidationHandlerという名の部品。入力値が正しい形式で入力されているか否かを判断するプログラム部品)。
model1.price = 2000;
などと代入することでは値を伝えることができない。これは、上記命令が実行されたことをフレームワークで感知することが言語仕様上不可能だからである。その代わりに、フレームワークの命令を使って値を変更する。
model.setProperty(“price”, 2000);
この命令でprice変数を変更することにより、その変更をテキストフィールドに自動的に伝えることができる。
全体チェックの場合、ユーザのスクリプトからモデル管理部に対してチェック実行指示
がなされる。これを契機として、チェックが開始する。チェックはスキーマを使って行う。スキーマの定義は、モデルと同じ名前の属性に対して、型やその他の内容が整合しているかどうかをチェックできるようになっている。先ほどの例を再掲すると、
model1= { name: 'abcde', price: '1000' };
schema1 = { price: { type: integer, check: function(value) { if (value < 0) return false; else return true; } } validateAll: function(value, result) { if (value.name == “afo” && value.price == 2000) { result.name = false; result.price = false; return false; } else true; } };
となっている。ここでは、priceという属性に対して
type: integer
check: function(value) { if (value < 0) return false; else return true; } }
という2つのチェック内容が定義されている。これは、
・priceは整数でなければならない。
・priceは0より大きくなければならない。
という2つの内容を定義している。ここでわかるように、チェック内容は、typeのように宣言的なものと、checkのようにロジックで記述するものとの2種類がある。
宣言的に記述できる内容の例は、以下のようなものである。
length: データの文字列長
minValue, maxValue: データが数値の場合の最小値、最大値
上記のような宣言的な書き方でチェックしきれない内容は、ロジックで行うことができる。その場合はcheckを使う。
check: function(value) { if (value < 0) return throw new Error(“正でなければなりません”); else return true; } }
validateAll: function(value, result) { if (value.name == “afo” && value.price == 2000) { result.name = new Error(“名前が間違っています”); result.price = new
Error(“値段が間違っています”); return false; } else true; }
<div rcf:id="av" rcf:type="ValidationHandler" rcf:target="a" rcf:event=”blur”
rcf:success=”a.color='black'” rcf:fail=”a.color='red'”></div>
となっている。ここで、
rcf:successは、チェックが成功している場合に実行する内容
rcf:failは、チェックが失敗した場合に実行する内容
である。上記例では、チェックが成功している場合は対象の画面部品(この場合TextInput)の色を黒く(a.color='black')、失敗した場合は対象の画面部品を赤く(a.color='red')するようになっている。
<div rcf:id="av" rcf:type="ValidationHandler" rcf:target="a" rcf:event=”blur”
rcf:success=”successProcess(a, result)” rcf:fail=”failProcess(a, result)”></div>
function successProcess(target, result) {
...
}
function failProcess(target, result) {
...
}
上記のような記述になっていると、成功時、失敗時にそれぞれsuccessProcess、failProcessが呼び出され、その中で詳細な動作を記述することができる。ここでtarget変数は変更対象とする画面部品であり、resultはチェック結果である。なお、画面部品にアクション部品が関連付けられていないときは、特に何もしない。
rcf:event=”blur”
という定義がなされている。これは、対象の部品からフォーカスが外れた(カーソルが別のところに移動した)ときにチェックの実行を開始することを意味している。
まず、ブラウザ内部からイベントが発生する。イベントはアクション部品に伝わり、これがチェック実行指示と同じイベントの場合(上記例なら、フォーカスが外れたら)、モデル管理部に対してチェックの実行を開始させる。
以上の構成により、非オブジェクト指向のJavaScript(登録商標)においてMVCを実現している。また、モデルと一緒に「スキーマ」を用意することにより、データチェックをモデルと同じ粒度(単位)で実現できる。これにより、部品ごとにチェックロジックが分散しないという効果が得られる。また、チェック処理と画面操作を分離しているので、同じ
モデルデータを画面上の複数箇所に表示している場合などに、部品ごとにエラーに対するアクションの仕方を分けることができる。更に、JavaScript(登録商標)では、必要に応じてチェックをサーバに依頼することも可能である。よって、データ個別の値チェック、モデルまとめての値チェックの両方がひとつの仕組みでできるようになる。
まず、HTML文、画面部品タグ、機能部品タグ、モデル、スキーマ定義をフレームワーク31のHTML解析、部品作成器28が読み込む。HTML解析、部品作成器28は、画面部品タグ、機能部品タグを基に、画面部品26、機能部品(アクション部品)27を作成する。また、機能部品27は、画面部品26と関連付けられて、画面部品26への入力に対する処理の実行を担当し、画面部品26と機能部品27は、MVCモデルにおけるビューに対応する。また、モデル、スキーマ定義は、モデル管理部29によって、モデルリポジトリ30に登録される。
ブラウザ内部35において、イベントが発生し、これが、画面部品の変更である場合、この変更は、画面部品26に対して行われる。画面部品26は、変更があった場合には、フレームワーク31のモデル管理部29に変更内容のモデルへの反映を依頼する。モデル管理部29は、画面部品26に対して行われた変更をモデル36に反映して処理を終了する。
ユーザの記述したJavaScript(登録商標)40によって、モデル36に変更依頼がなされる。ここで、モデル26への変更依頼は、たとえば、setPropertyコマンドで行われる。モデル36に変更がなされると、モデル36からモデル管理部29に対し、画面部品26への変更の反映依頼がなされる。モデル管理部29は、反映依頼を受け取ると、画面部品26に対し、画面部品更新依頼を行う。この依頼により、モデル36に対してなされた変更が、画面部品26に反映される。画面部品26は、変更を受け付けると、ブラウザ内部のHTML DOM35に、ブラウザの表示の更新を行う。これにより、画面部品26への変更が、実際にブラウザ上の表示の変更となって表示される。
まず、ユーザのスクリプト35が値のチェックを実行する。すると、フレームワーク31のモデル管理部29は、スキーマ37に対し、値のチェック実行を依頼する。スキーマ37は、モデル36の値を取得し、所定の条件を満たしているか否かをチェックし、チェック結果をチェック結果格納部38に格納する。モデル管理部29は、チェック結果格納部38内のチェック結果を参照し、チェック結果に従った画面部品の更新依頼を画面部品26に対して行う。たとえば、値が正しくない場合には、赤色で値を表示するなどである。画面部品26は、画面入力に対する処理を担当する機能部品27に対し、画面部品更新依頼を行う。機能部品27は、依頼にしたがって、画面部品を更新して、処理を終了する。
図8は、1つの入力についてのみ値チェックを行う場合の動作を説明する図である。
。今の場合、フォーカスがずれる等である。これにより、画面部品26は、機能部品27に対して、入力値のチェックの実行指示を行う。機能部品27は、フレームワーク31のモデル管理部29に対し、発生したイベントに対応するモデルの入力値のチェック依頼を行う。モデル管理部29は、スキーマ37に対し、チェックの実行を依頼し、スキーマ37は、対応するモデル36から値を取得してチェックし、チェック結果をチェック結果格納部38に格納する。モデル管理部29は、チェック結果格納部38に格納されているチェック結果を参照し、画面部品26に画面部品変更依頼を行う。画面部品変更依頼を受け取った画面部品26は、機能部品27に対し、画面更新依頼を行い、機能部品27は、画面部品26を更新する。この動作により、入力値がスキーマで規定される条件を満たしていない場合には、入力値が赤色で表示されるなどの表示の変更がなされる。
図9は、図7及び図8の動作を処理フローにまとめた図である。
まず、ステップS16において、チェック対象となるモデルを確認し、ステップS17において、対象モデルがあるか否かを判断する。ステップS17において、チェック処理を行うプログラムがないと判断された場合(Noの場合)には、そのまま処理を終了する。ステップS17において、対象モデルがあると判断された場合(Yesの場合)には、ステップS18において、チェック処理を行うプログラム(ここでは、前述の、入力値が正しい形式で入力されているか否かを判断するValidationHandlerというプログラムとしている)があるか否かを判断する。ステップS18において、チェック処理を行うプログラムがないと判断された場合(Noの場合)には、そのまま処理を終了する。ステップS18において、チェック処理を行うプログラムがあると判断された場合(Yesの場合)には、チェックを行い、ステップS19において、チェックの結果、入力値が正しいか否かにしたがった処理を行って、処理を終了する。この処理は、入力値が正しくないときには、値を赤色で表示し、正しい場合には、黒色で表示するなどである。
ステップS25とステップS29で示されるループで、ブラウザから読み取られたHTML文の要素全てについて処理を行う。ステップS26において、HTML文の要素を取得し、ステップS27において、取得されたHTML文の要素が、画面部品であるか否かを判断する。ステップS27の判断がNoの場合には、ステップS28に進む。ステップS27の判断がYesの場合には、ステップS30において、画面部品を作成し、画面部品を画面部品リポジトリに登録して、ステップS29に進む。
図11において、まず、ステップS35で、ブラウザ内にイベントが発生したことが検出される。ステップS36において、画面部品がイベントを受信する。ステップS37において、当該イベントによって、入力内容が変更されたか否かを判断する。ステップS37の判断がNoの場合には、処理を終了する。ステップS37の判断がYesの場合には、ステップS38において、値がモデルを指しているか否かを判断する。すなわち、値が、rcf:value = "{model. name}"の形式か否かを判断する。ステップS38の判断がNoの場合には、処理を終了する。ステップS38の判断がYesの場合には、ステップS39において、モデル管理部を呼び出し、モデル管理部の処理が終わったら、処理を終了する。
ステップS40において、画面部品の設定値を取得する。すなわち、< span ……… rcf:value = "{model. name}">のvalueの部分を取得する。ステップS41において、設定値からモデル名を取得する。たとえば、{model. name}と指定されていたら、modelの部分を取得する。ステップS42において、取得した名前で示されるモデルをモデルリポジトリから取得する。ステップS43において、設定値からプロパティ名を取得する。たとえば、{model. name}と指定されていたら、nameの部分を取得する。ステップS44において、モデルに入力値を設定する。すなわち、画面部品に入力された値をモデルに設定する。
ステップS45において、ユーザJavaScript(登録商標)を実行する。ここでは、setPropertyを実行するとしている。この実行により、ステップS46において、モデルの保持する値を更新する。次に、ステップS47からステップS53のループで、画面部品リポジトリに含まれる全ての画面部品について処理を行う。ステップS48では、画面部品を1つ取得する。ステップS49において、画面部品の保持する値がモデルを指しているか否かを判断する。「値がモデルを指す」とは、図11のステップS38の場合と同じことを意味する。ステップS49の判断がNoの場合には、ステップS53に進む。ステップS49の判断がYesの場合には、ステップS50において、モデルを指している値が更新されたか否かを判断する。ステップS50の判断がNoの場合には、ステップS53に進む。ステップS50の判断がYesの場合には、ステップS51において、画面部品に値を設定し、ステップS52において、画面部品が表示を更新し、ステップS53に進む。ステップS47からステップS53のループで、全ての画面部品について処理が終わったら、処理を終了する。
図14において、ステップS55で、ユーザのスクリプトからモデルを指定し、チェックの実行指令を出す。ステップS56において、指定されたモデルをモデルリポジトリから取り出し、ステップS57において、モデルに対応するスキーマが存在するか否かを判断する。ステップS57の判断がNoの場合には、処理を終了する。ステップS57の判断がYesの場合には、ステップS58からステップS66のループで、以下の処理をすべてのモデル内の要素について行う。まず、ステップS59において、モデル内の要素を一つ取り出す。ステップS60において、スキーマに対応する名前が、要素の中にあるか否かを判断する。ステップS60の判断がNoの場合には、ステップS66に進む。ステップS60の判断がYesの場合には、ステップS61において、スキーマ定義を取り出し、ステップS62において、宣言要素を実行する。ステップS63において、結果をチェック結果に格納し、ステップS64において、ロジック要素を実行し、ステップS65において、結果をチェック結果格納部に格納し、ステップS66に進む。ステップS58からステップS66のループで、全てのモデル内要素について処理が終わったら、ステップS67に進む。
宣言要素を実行する場合には、ステップS71において、モデルの値を取り出し、ステップS72で値が、たとえば、整数か否かを判断する。これは、type: integerの場合である。そのほかにも、性質に応じてさまざまなチェックが出来る。たとえば、type: zenkakuでは、全角文字列か否かを判断する。maxLength: 12では、12文字以下か否かを判断する。そして、ステップS72の判断がNoのときは、エラーを返し、Yesのときは、チェックの結果が成功であったことを返す。
ロジック要素を実行する場合、ステップS73において、モデルの値を取り出し、ステップS74において、モデルの値を引数にチェック関数を実行する。そして、チェック関数の返り値を図14のフローに返す。チェック関数は、返り値として、成功か失敗かを示す値を返す。
画面部品に変更を反映する場合、ステップS75において、値はモデルを指しているか否かを判断する。ここの判断は、図13のステップS49と同じである。ステップS75の判断がNoの場合には、処理を終了する。ステップS75の判断がYesの場合には、ステップS76において、アクション部品(機能部品)があるか否かを判断する。ステップS76の判断がNoの場合には、処理を終了する。ステップS76の判断がYesの場合には、ステップS77において、アクション部品を呼び出し、実行して処理を終了する。
アクション部品を呼び出し、実行する場合、ステップS78において、チェックは成功したか否かを判断する。ステップS78の判断がYesの場合には、ステップS79に進
み、success属性があるか否かを判断する。ステップS79の判断がNoの場合には、処理を終了する。ステップS79の判断がYesの場合には、ステップS80において、success属性の中身を実行して、処理を終了する。
図19において、まず、ステップS90で、ブラウザからイベントが発生すると、ステップS91において、画面部品がイベントを受信し、ステップS92において、画面部品がモデルを指しているか否かを判断する。ここの判断は、画面部品がバインディングで関連付けられたモデルを有しているか否かの判断である。ステップS92の判断がNoの場合には、処理を終了する。ステップS92の判断がYesの場合には、ステップS93において、アクション部品が存在するか否かを判断する。ステップS93の判断がNoの場合には、処理を終了する。ステップS93の判断がYesの場合には、ステップS94において、event属性が存在するか否かを判断する。ステップS94の判断がNoの場合には、処理を終了する。ステップS94の判断がYesの場合には、ステップS95において、チェック対象イベントか否かを判断する。ステップS95の判断がNoの場合には、処理を終了する。ステップS95の判断がYesの場合には、ステップS96において、チェックを実行し、処理を終了する。
ステップS97において、モデルリポジトリから対象モデルを取り出し、ステップS98において、モデルに対応するスキーマが存在するか否かを判断する。ステップS98の判断がNoの場合には、処理を終了する。ステップS98の判断がYesの場合には、ステップS99において、画面部品に指定された、モデルの要素を取り出す。ステップS100において、スキーマに対応する名前があるか否かを判断する。ステップS100の判断がNoの場合には、処理を終了する。ステップS100の判断がYesの場合には、ステップS101において、スキーマ定義を取り出し、ステップS102において、宣言要素を実行し、ステップS103において、結果をチェック結果格納部に格納する。ステップS104において、ロジック要素を実行し、ステップS105において、結果をチェック結果格納部に格納する。ステップs106では、画面部品に反映し、処理を終了する。
宣言要素を実行する場合には、ステップS201において、モデルの値を取り出し、ステップS202で値が、たとえば、整数か否かを判断する。これは、type: integerの場合である。そのほかにも、性質に応じてさまざまなチェックが出来る。たとえば、type: zenkakuでは、全角文字列か否かを判断する。maxLength: 12では、12文字以下か否かを判断する。そして、ステップS202の判断がNoのときは、エラーを返し、Yesのときは、チェックの結果が成功であったことを返す。
ロジック要素を実行する場合、ステップS203において、モデルの値を取り出し、ステップS204において、モデルの値を引数にチェック関数を実行する。そして、チェック関数の返り値を図14のフローに返す。チェック関数は、返り値として、成功か失敗かを示す値を返す。
画面部品に変更を反映する場合、ステップS205において、値はモデルを指しているか否かを判断する。ここの判断は、図13のステップS49と同じである。ステップS205の判断がNoの場合には、処理を終了する。ステップS205の判断がYesの場合には、ステップS206において、アクション部品(機能部品)があるか否かを判断する。ステップS206の判断がNoの場合には、処理を終了する。ステップS206の判断がYesの場合には、ステップS207において、アクション部品を呼び出し、実行して処理を終了する。
アクション部品を呼び出し、実行する場合、ステップS208において、チェックは成功したか否かを判断する。ステップS208の判断がYesの場合には、ステップS209に進み、success属性があるか否かを判断する。ステップS209の判断がNoの場合には、処理を終了する。ステップS209の判断がYesの場合には、ステップS210において、success属性の中身を実行して、処理を終了する。
11 フレームワーク
12 画面部品(チェック機能付き)
13 HTML解析、部品作成器
15、35 HTML DOM(ブラウザ内部)
16 画面部品
17 外部チェックスクリプト
18 イベント解析部
19 内部チェック部
20 外部チェック部
21 画面更新部
25 HTML、画面部品タグ、機能部品タグ、モデル、スキーマ定義
26 画面部品
27 機能部品
28 HTML解析、部品作成器
29 モデル管理部
30 モデルリポジトリ
31 フレームワーク
36 モデル
37 スキーマ
38 チェック結果格納部
40 ユーザJavaScript
Claims (5)
- 非オブジェクト指向言語による記述によって表示画面を構成する表示画面構成装置をコンピュータに実現させるプログラムであって、
表示画面を表示し、該表示画面からのユーザのイベント入力を受け付け、該イベント入力の内部処理を行って、表示画面に内部処理結果を反映した表示を行うビュー手段と、
該ビュー手段とは別個に設けられて、該ビュー手段とバインディング機能により関連付けられ、該ビュー手段を介して受け付けたイベント入力の外部処理を行い、外部処理結果を該ビュー手段に渡して表示画面に反映させるモデル手段と、
該モデル手段が受け付けたイベント入力による入力値が所定の条件を満たしているか否かを検査し、その結果を該モデル手段の外部処理結果として、表示画面に反映させるスキーマ手段と、
を備える機能をコンピュータに実現させるプログラム。 - 前記非オブジェクト指向言語は、JavaScriptであることを特徴とする請求項1に記載のプログラム。
- 前記イベント入力は、テキスト入力であり、
前記スキーマ手段は、前記モデル手段が担当する全ての入力テキストが所定の条件を満たしているか否かを検査することを特徴とする請求項1に記載のプログラム。 - 前記イベント入力は、テキスト入力であり、
前記スキーマ手段は、前記モデル手段が担当する入力テキストの内、イベントが発生したテキストについてのみ、該テキストが所定の条件を満たしているか否かを判断することを特徴とする請求項1に記載のプログラム。 - 非オブジェクト指向言語による記述によって表示画面を構成する表示画面構成装置であって、
表示画面を表示し、該表示画面からのユーザのイベント入力を受け付け、該イベント入力の内部処理を行って、表示画面に内部処理結果を反映した表示を行うビュー手段と、
該ビュー手段とは別個に設けられて、該ビュー手段とバインディング機能により関連付けられ、該ビュー手段を介して受け付けたイベント入力の外部処理を行い、外部処理結果を該ビュー手段に渡して表示画面に反映させるモデル手段と、
該モデル手段が受け付けたイベント入力による入力値が所定の条件を満たしているか否かを検査し、その結果を該モデル手段の外部処理結果として、表示画面に反映させるスキーマ手段と、
を備えることを特徴とする表示画面構成装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007005170A JP2008171281A (ja) | 2007-01-12 | 2007-01-12 | 表示画面構成装置 |
US12/013,020 US8127234B2 (en) | 2007-01-12 | 2008-01-11 | Display screen structuring apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007005170A JP2008171281A (ja) | 2007-01-12 | 2007-01-12 | 表示画面構成装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010180089A Division JP5537330B2 (ja) | 2010-08-11 | 2010-08-11 | 表示画面構成装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008171281A true JP2008171281A (ja) | 2008-07-24 |
Family
ID=39618714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007005170A Pending JP2008171281A (ja) | 2007-01-12 | 2007-01-12 | 表示画面構成装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8127234B2 (ja) |
JP (1) | JP2008171281A (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4185159B1 (ja) * | 2008-01-30 | 2008-11-26 | 株式会社三菱東京Ufj銀行 | アプリケーション開発支援装置及びプログラム |
US11003464B2 (en) * | 2012-04-19 | 2021-05-11 | Microsoft Technology Licensing, Llc | Control flow integrity enforcement at scale |
US9342323B2 (en) * | 2012-08-09 | 2016-05-17 | Google Inc. | Browser-level background page for providing multiple views |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002215394A (ja) * | 2000-08-15 | 2002-08-02 | Fujitsu Ltd | Webアプリケーション開発・実行システム及びWebアプリケーション生成装置 |
US20030226115A1 (en) * | 2002-06-03 | 2003-12-04 | Wall Peter M. | Input field constraint mechanism |
JP2004318848A (ja) * | 2003-03-28 | 2004-11-11 | Daiwa Securities Group Inc | 画面自動生成装置、画面自動生成方法、画面自動生成プログラム、記録媒体、実行装置、ファイル編集装置、ファイル編集方法およびファイル編集プログラム |
JP2006260540A (ja) * | 2005-03-15 | 2006-09-28 | Microsoft Corp | データバインドされたリッチなアプリケーション |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002214394A (ja) | 2001-01-19 | 2002-07-31 | Shimizu Corp | 地層処分施設とその施工法 |
JP2003150290A (ja) | 2001-11-16 | 2003-05-23 | Higashi Nippon System Kensetsu Kk | データ管理システム |
US7953767B2 (en) * | 2004-10-05 | 2011-05-31 | Sap Ag | Developing applications using configurable patterns |
US20070283273A1 (en) * | 2005-10-24 | 2007-12-06 | Woods Michael E | System, Method, and Computer Program Product for Internet Tool |
US20070124278A1 (en) * | 2005-10-31 | 2007-05-31 | Biogen Idec Ma Inc. | System and method for electronic record keeping |
US7890957B2 (en) * | 2006-09-08 | 2011-02-15 | Easyonme, Inc. | Remote management of an electronic presence |
US20080065974A1 (en) * | 2006-09-08 | 2008-03-13 | Tom Campbell | Template-based electronic presence management |
JP4961949B2 (ja) * | 2006-10-30 | 2012-06-27 | 富士通株式会社 | 生成プログラム、検査プログラム、生成装置、および生成方法 |
US8341595B2 (en) * | 2007-05-30 | 2012-12-25 | Roam Data Inc | System and method for developing rich internet applications for remote computing devices |
US7917584B2 (en) * | 2007-10-22 | 2011-03-29 | Xcerion Aktiebolag | Gesture-based collaboration |
-
2007
- 2007-01-12 JP JP2007005170A patent/JP2008171281A/ja active Pending
-
2008
- 2008-01-11 US US12/013,020 patent/US8127234B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002215394A (ja) * | 2000-08-15 | 2002-08-02 | Fujitsu Ltd | Webアプリケーション開発・実行システム及びWebアプリケーション生成装置 |
US20030226115A1 (en) * | 2002-06-03 | 2003-12-04 | Wall Peter M. | Input field constraint mechanism |
JP2004318848A (ja) * | 2003-03-28 | 2004-11-11 | Daiwa Securities Group Inc | 画面自動生成装置、画面自動生成方法、画面自動生成プログラム、記録媒体、実行装置、ファイル編集装置、ファイル編集方法およびファイル編集プログラム |
JP2006260540A (ja) * | 2005-03-15 | 2006-09-28 | Microsoft Corp | データバインドされたリッチなアプリケーション |
Also Published As
Publication number | Publication date |
---|---|
US8127234B2 (en) | 2012-02-28 |
US20080172624A1 (en) | 2008-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Mann | Java Server Faces in Action | |
US10977054B2 (en) | Method and system for providing and executing web applications with runtime interpreter | |
EP1901179A1 (en) | Document processing device, and document processing method | |
Nelson | Getting to know Vue. js | |
WO2002023336A1 (en) | Xml-based graphical user interface application development toolkit | |
US9032363B2 (en) | Providing a user interface library for building web-based applications | |
US20210200560A1 (en) | Enhanced Target Selection for Robotic Process Automation | |
JP4814801B2 (ja) | 表示画面構成装置 | |
JP2008171281A (ja) | 表示画面構成装置 | |
Penberthy | Beginning ASP. NET for Visual Studio 2015 | |
Kumpulainen | Web application development with Vue. js | |
JP5537330B2 (ja) | 表示画面構成装置 | |
US20230060787A1 (en) | System and Method for Real-Time, Dynamic Creation, Delivery, and Use of Customizable Web Applications | |
Bretet | Spring mvc cookbook | |
Derks | React Projects: Build 12 real-world applications from scratch using React, React Native, and React 360 | |
Lim | Beginning Angular 2 with Typescript | |
Ferguson et al. | JavaScript and Application Frameworks: Angular | |
Subramanian et al. | React-bootstrap | |
Abbruzzese | Hands-On TypeScript for C# and. NET Core Developers: Transition from C# to TypeScript 3.1 and build applications with ASP. NET Core 2 | |
Stäuble et al. | ZK Developer's Guide | |
Steyer | Behind the Scenes: How and Why Does Vue. js Work? | |
Mason | SAS Stored Processes | |
Ganatra | Kendo UI Cookbook | |
Han et al. | Practice and evaluation of pagelet-based client-side rendering mechanism | |
Patel | Sitecore Cookbook for Developers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081205 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090501 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090602 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090731 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100511 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100811 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20100818 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20101029 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120206 |