我有一个带按钮的复合,我希望能够将一个完整的字符串传递给该按钮。
<composite:attribute name="oncomplete"/>
<h:commandButton oncomplete="#{cc.attrs.oncomplete}"/>
现在我想传递一个EL函数调用,它将Javascript对象解析为这个不完整的字段。
<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 :(得分:0)
<script type="text/javascript">
function hideWidget(widget){
widget.hide();
}
</script>
<comp:composite oncomplete="hideWidget(#{p:widgetVar('dlgUserAdd')})" />