Forum #2 - Topic #3 - Message List

JSのAPIの作り方について

すいません、JSのAPIの作るのSAMPLEがありますか。 教えていただけませんか。

  • Message #3

    JavaScript APIの実装方法を簡単に説明します。

    JavaScriptで実装する場合

    コンフィグファイル「WEB-INF/classes/conf/jssp-config.xml」の
    「/intra-mart/jssp/java-script-api/api-script」タグを設定します。

    形式 : 「ページパス(拡張子なし)#登録関数名」

    「ページパス」内で定義されている関数のうち「登録関数名」と同名の関数が、 ファンクションコンテナ内で実行可能となります。
    (APIを修正した場合は、Webアプリケーションの再起動が必要です)

    以下に簡単なサンプルを示します。

    jssp-config.xml の設定例

    <intra-mart>
        <jssp>
            <java-script-api>
                <api-script>sample/script/api/foo#Bar</api-script>
            </java-script-api>
    
            ・
            ・
            ・
    

    sample/script/api/foo.js

    function Bar(id){
        this.id = id;
    
        // インスタンス・メソッド
        this.func1 = _hoge;
    }
    
    function _hoge(name){
        return "「" + this.id + "」の名前は「" + name + "」です。";
    }
    
    • 以下のように、prototype機構を用いて作成することも可能です。
      function Bar(id){
      	this.id = id;
      }
      
      Bar.prototype.func1 = function(name){
          return "「" + this.id + "」の名前は「" + name + "」です。";
      }
      

    上記で作成したJavaScriptAPIの実行ソース

    function init(){
        var bar = new Bar("test_id");
        var str = bar.func1("テスト名");
    
        Debug.browse(str);
    }
    
    • 実行結果
      「test_id」の名前は「テスト名」です。
      



    ●Javaで実装する場合

    JavaScriptのAPIをJavaで実装する場合のサンプルソースは、以下をご参照ください。 http://oss.intra-mart.org/projects/im-jssp/browser/trunk/im-jssp/src/main/java/org/intra_mart/jssp/script/api

    コンフィグファイル「WEB-INF/classes/conf/jssp-config.xml」の
    「/intra-mart/jssp/java-script-api/api-class」タグに、
    作成したクラス名を設定することでAPIを利用することが可能となります。

    なお、作成するクラスは、org.mozilla.javascript.Scriptableを実装している必要があります。


    ●コンフィグファイルの設定例

    コンフィグファイルの設定例は以下を参照してください。 http://oss.intra-mart.org/projects/im-jssp/browser/trunk/im-jssp/src/main/webapp/WEB-INF/classes/conf/jssp-config.xml