Seasarプロジェクト ＞ Seasar.NETプロジェクト ＞ S2Container.NET ＞ JScript.NET式

# 目次

上へ

- 概要
- 定義済みのオブジェクト
- 定義済みの変数
- Example

# 概要

上へ

S2Container.NETでは、定義ファイル中に式言語として JScript.NET を利用しています。 定義ファイルの中で、文字列で記述した内容(式)を.NETのオブジェクトに変換することが出来ます。

- 文字列は、"hoge"のように"で囲みます。
- charは、'a'のように'で囲みます。
- 数値は、123のようにそのまま記述します。
- 論理値(System.Boolean)は、true,falseのようにそのまま記述します。
- 列挙体(System.Enum)は、System.Data.DbType.Decimalのように列挙体の完全修飾名とメンバ名で記述します。(厳密には、JScript.NETの記法ではありません)
- 型宣言(System.Type)は、Foo.BarのようにTypeの完全修飾名を記述します。(厳密には、JScript.NETの記法ではありません)
- new DateTime()のように標準ライブラリ(mscorlib.dll)のクラスや構造体のコンストラクタを呼び出すことができます。(名前空間のSystemは省略して呼び出します）

詳しくは、 JScript.NETのマニュアルを参照してください。

# 定義済みのオブジェクト

上へ

定義ファイルで指定するJScript.NET式では、あらかじめ以下のオブジェクトが使用できるようになっています。

名前 | 型 | 説明
--- | --- | ---
container | Seasar.Framework.Container. Impl.S2ContainerImpl | 現在のdiconファイルを処理しているS2コンテナです
appSettings (1.2.1以降) | System.Collections.Specialized. NameValueCollection | アプリケーション構成ファイルのappSettingsセクションの設定がセットされています .NET 2.0ではSystem.Configuration.ConfigurationManager. AppSettings の結果がセットされています .NET 1.1ではSystem.Configuration.ConfigurationSettings. AppSettings の結果がセットされています
connectionStrings (1.3.4以降) | System.Configuration. ConnectionStringSettingsCollection | アプリケーション構成ファイルのconnectionStringsセクションの設定がセットされます System.Configuration.ConfigurationManager. ConnectionStrings の結果がセットされます
out | System.Console.Out | <initMethod>または<destroyMethod> のボディの中でのみ定義されています
err | System.Console.Error | <initMethod>または<destroyMethod> のボディの中でのみ定義されています

# 定義済みの変数

上へ

定義ファイルで指定するJScript.NET式では、あらかじめ以下の変数が使用できるようになっています。

名前 | 説明
--- | ---
self | <initMethod>または<destroyMethod> のボディの中でのみ定義されている変数です。 この変数は，現在のコンポーネント (<initMethod>または <destroyMethod>を囲む<component> 要素で表されているオブジェクト) を参照します

# Example

上へ

例としてpropertyタグのボディでJScript.NETを使用してみます。

## 文字列

    <property name="Message">"こんにちは"</property>

## 数値

    <property name="Pi">3.14</property>

## S2コンテナ

S2コンテナにMessageと名前が付けられたHashtableが登録されており、 "Hello"というキーでセットされている値を取り出す例です。

    <property name="Message">container.GetComponent("Message")["Hello"]</property>

## アプリケーション構成ファイル（appSettings）

アプリケーション構成ファイルの appSettings に以下の設定がされており、 "message"というキーでセットされている値を取り出す例です。

    <configuration>

        <appSettings>
            <add key="message" value="Hello" />
        </appSettings>

    </configuration>

    <property name="Message">appSettings['message']</property>

## アプリケーション構成ファイル（connectionStrings）

アプリケーション構成ファイルの connectionStrings に以下の設定がされており、 接続文字列を取り出す例です。

    <configuration>

        <connectionStrings>
            <add name="con1" connectionString=
    "Server=(local);database=s2dotnetdemo;Integrated Security=SSPI"
    providerName="System.Data.SqlClient"/>
        </connectionStrings>

    </configuration>

    <property name="ConStr">connectionStrings['con1'].ConnectionString</property>

© Copyright The Seasar Project and the others 2004-2009, all rights reserved.