0

カスタムコントロールからメソッドバインディングを介してSSJSコードを渡したい。この例のアクションボタンの背後にあるコードは次のとおりです。

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xc="http://www.ibm.com/xsp/custom">
<xc:ccSSJS>
      <xc:this.ssjsCode>
         <![CDATA[#{javascript:
            var app = facesContext.getApplication();
            app.createMethodBinding("#{javascript:var control = getComponent('viewPanel1');print(typeof control);}", null); 
         }]]>
      </xc:this.ssjsCode>
   </xc:ccSSJS>
</xp:view>

しかし、スクリプトインタープリターエラーが発生します。なぜgetComponentメソッドを呼び出せないのですか?

4

1 に答える 1

1

理由を説明するのは少し複雑です... 回避策は、 FacesUtilクラスのgetComponentForメソッドを使用することです。

com.ibm.xsp.util.FacesUtil.getComponentFor(view,'viewPanel1')
于 2012-09-22T14:10:45.163 に答える