h:body onload中的函数在我的JSF页面中不起作用(EDITED)

时间:2014-02-12 14:01:17

标签: jsf

已编辑

我想用

 <h:body onload="#{myBean.initialize}"> 

但是在我的JSF页面中没有调用函数initialize()而且我没有取消原因。 提前致谢

页面的结构是

 <html>
   <h:body onload="#{myBean.initialize}"> 
   <p:layout>
   <ui:composition>
       <ui:define>
           <p:layoutUnit>
                <h:form>
                      <p:panel> 
                            <h:panelGrid>
                              .....
                            </h:panelGrid>
                       </p:panel> 
                  </h:form>
           </p:layoutUnit>
     </ui:define>
   </ui:composition>
   </p:layout>
   </h:body>
</html>               

已编辑

我正在使用

  <p:remoteCommand name="onload" action="#{editUDBean.init}" autoRun="true"/>

之后

 <h:form>

并调用init函数

2 个答案:

答案 0 :(得分:1)

它应该在html标记之后(或当然在head之后)。几乎每个关于模板的教程都是这样做的,例如参见Mkyong's

答案 1 :(得分:0)

使用

<h:body onload=""> 

您可以触发JavaScript函数而不是Java bean方法!您可以这样使用onload:

<h:body onload="alert('onload is called...');">