2012-01-13 6 views
0

私はボタンとコンポジットを持っており、そのボタンに完了していないStringを渡したいと思っています。EL関数呼び出しを複合属性に渡すにはどうすればいいですか?

<composite:attribute name="oncomplete"/> 

<h:commandButton oncomplete="#{cc.attrs.oncomplete}"/> 

ここで、Javascriptオブジェクトをこの未完成フィールドに解決するEL関数呼び出しを渡します。

<comp:composite oncomplete="#{p:widgetVar('dlgUserAdd')}.hide();"> 

#{p:widgetVar('dlgUserAdd')} //returns a Javascript Object. 

しかし、これは例外につながる:ここ

com.sun.el.lang.FunctionMapperImpl java.lang.ClassNotFoundException: com.sun.el.lang.FunctionMapperImpl 
at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
at org.glassfish.web.loader.WebappClassLoader.findClass(WebappClassLoader.java:959) 
at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1430) 
at java.lang.Class.forName0(Native Method) 
at java.lang.Class.forName(Class.java:247) 

これは動作しますが、私が何をしたいではありません。

<comp:composite oncomplete="dlgUserAdd.hide();"> 

答えて

0
<script type="text/javascript"> 
    function hideWidget(widget){ 
    widget.hide(); 
    } 
</script> 

<comp:composite oncomplete="hideWidget(#{p:widgetVar('dlgUserAdd')})" /> 
+0

これはかなり醜いようです。コンポジット・インプリメンテーション・サイトは、この機能が可視でない場合でも、またはコンポジットとインプリメンテーション・サイトの両方がそれを知る必要がある場合でも、この機能を知る必要があります。他に誰もがアイデアを持っていますか? – djmj

関連する問題