0

私は Dojo を学んでおり、WebShere アプリケーション サーバーで iWidget を作成しようとしています。

最初にHelloworldウィジェットを作成しようとしました。これは展開されました。

今、私はテンプレートを追加したいと思います。

テンプレートフォルダーに作成しLoginCmis.htmlます。このテンプレートは、ユーザー名とパスワードを尋ねるための gui です。

CustomerInteraction.js、テンプレート String を作成しました。これを に追加する方法onLoad

 <div class = LoginCmis>
        <div dojotype="dijit.layout.BorderContainer" id="BorderContainer"
        design="headline" style="height: 250px; width: 400px" align="center">

            <div preload="true" dojotype="dijit.layout.ContentPane" 
                region="top">Login CMIS
            </div>
            <div preload="true" dojotype="dijit.layout.ContentPane" region="centre">

                <table class="form">
                    <tr>
                        <td>UserName</td>
                        <td><input type="text" dojotype="dijit.form.ValidationTextBox"
                            name="username" required="true" maxLength=64 trim="true"
                            style="width: 200px; text-align: left" 
                            dojoattachpoint="username"/>
                        </td>
                    </tr>
                    <tr>
                        <td>Password</td>
                        <td><input type="password" name="password" value=""
                            dojotype="dijit.form.ValidationTextBox" 
                            style="width: 200px; text-align: left"
                            dojoattachpoint="password"/>
                        </td>
                    </tr>
            </table>
        </div>
        </div>
    </div>

私のCustomerInteraction.xml(これはHello worldのためでした。ここで変更を加える必要がありますか)コンテンツの

<iw:content mode="view">
        <![CDATA[
              <div id ="helloWorld" > Hello World ! </div>
       ]]>
 </iw:content>

customerInteraction.js

    dojo.provide("helloWorldScope");
    dojo.require("dijit._Widget");
    dojo.require("dijit._Templated");
    dojo.declare("",[ dijit._Widget, dijit._Templated ],{

        templateString : dojo["cache"]("iWidget/widgets/CustomerInteraction", "Template/LoginCmis.html");


        msg1: "Hello World Class Loaded",
        msg2: "Hello World, again",


    onLoad:function() {
            alert(this.msg1);
        }
});

このテンプレートを表示するには、どのような変更を加える必要がありますか??

フォルダのデザインはこれを見てください

4

1 に答える 1

1

この mixin_WidgetsInTemplateMixinをあなたの宣言に追加します。

onLoadウィジェットには、呼び出し/バインドするデフォルト関数がありません。ただし、それ自体を構築する最終段階として、startup

dojo があなたのモジュールを探す場所を認識していることを確認し、dojo.parser がそれをウィジェットとして認識できるように、type で div を作成してください。

CustomerInteraction.xml:

 <script>
      dojo.registerModulePath("iWidgets", "/iWidget");
      dojo.require("iWidget.widgets.customerInteraction");
 </script>
 <div dojoType="iWidget.widgets.customerInteraction"></div> ... </body>

WebContent/iWidget/widgets/customerInteraction.js

dojo.declare("iWidget.widgets.customerInteraction",[ dijit._Widget, dijit._Templated, dijit._WidgetsInTemplateMixin ],{
     ....
     buildRendering: function() {
          // pre-parser point in flow of construction
          // add you code here
          this.inherited(arguments);
     },
     startup: function() {
          // 'post create' point in flow of construction
          // add you code here
          this.inherited(arguments);
     }
});
于 2012-08-29T09:05:24.610 に答える