既存のクラスにプロパティを追加して使用します。
この例では,サンプルWebアプリケーションの文書クラスのプロパティに文書種別を追加します。
サンプルWebアプリケーションでは,オブジェクトモデル(クラス,プロパティ)に関する情報は,配置ディスクリプタに定義して設定を変更できるようになっています。このため,追加するプロパティを配置ディスクリプタのコンテキストパラメタのオブジェクトモデルに追加します。
この例では,文書種別プロパティ(model.prop.docType)を追加します。
<web-app>
:
<context-param>
<param-name>app.mode</param-name>
<param-value />
</context-param>
:
<context-param>
<param-name>model.prop.docType</param-name>
<param-value />
</context-param>
:
サンプルWebアプリケーションでは,オブジェクトモデル(クラス,プロパティ)についての情報をコアアプリケーションクラスのDwcModelMap.javaで保持しています。このため,追加するプロパティの定義をDwcModelMap.javaに追加します。
クラスの詳細は,javadocで出力するドキュメントを参照してください。
public class DwcModelMap {
:
public final static String PARAM_MODEL_PROP_DOCTYPE = "model.prop.docType";
DwcModelMap(DwcAppParams params) {
:
propDocType = params.getParam(PARAM_MODEL_PROP_DOCTYPE);
:
propTypeMap.put(propDocType, typeStr);
}
:
public String propDocType = null;
:
}
追加したコンテキストパラメタにデフォルト値を設定できます。
コンテキストパラメタに対するデフォルト値の設定は,アプリケーション起動時にコアアプリケーションクラスのDwcCoreApp.javaのinitParamsメソッドで行います。デフォルト値の定義には,コアアプリケーションクラスのDwcAppParams.javaのsetParamOrDefaultメソッドを使用します。
各クラスとメソッドの詳細は,javadocで出力するドキュメントを参照してください。
この例では,次に示す定義をDwcCoreApp.javaとDwcAppParams.javaに追加して,model.prop.docType(文書種別プロパティ)のデフォルト値に「dwcProp_DocType」を設定します。
public class DwcCoreApp {
:
public void initParams() {
:
// model.
:
params.setParamOrDefault(DwcModelMap.PARAM_MODEL_PROP_DOCTYPE, "dwcProp_DocType");
:
追加したプロパティは,JSPファイルから,コマンドサーブレットに渡すリクエストパラメタでプロパティを指定することで参照・更新することができます。
この例では,追加したmodel.prop.docType(文書種別プロパティ)の参照・更新を行います。なお,参照・更新の対象となる個所については,「6.3.3 JavaクラスファイルとJSPファイルの対応」を参照して検討します。
<html>
:
<input type="hidden" name="<%= DwcParamDef.GET_PROP %>0" value="<%= model.prop.docType %>">
:
</html>
<html>
:
<input type="hidden" name="<%= DwcParamDef.SET_PROP %>0" value="<%= model.prop.docType %>">
:
</html>