我想在我的一個JSF頁面上使用JavaScript。不幸的是,JSF中的Javascript - 「body onload =」vs</redirect>標記
<h:body onload="init('#{formBean.arrayAsString}')">
根本沒有被調用。我發現,如果我在導航到導航頁面的導航案例中添加/重定向標籤,該函數將加載。不幸的是,由於使用導航,我還傳遞了重要的f:param,所以formBean可以讀取它。如果我使用/重定向標籤,則參數值不再可用於讀取。
如何在不使用重定向標記的情況下加載JavaScript init函數?或者,也許我能以某種方式通過F:參數值的方式重新定向的,但據我所知,這是不可能的......
下面我發佈的導航方法:
第一.xhtml頁面:
<h:selectOneMenu id="selectMenu" value="#{indexBean.name_id}">
<f:selectItems value="#{indexBean.myModelValues}" />
<f:ajax event="valueChange" render="button" execute="@this"/>
</h:selectOneMenu>
<h:commandButton id="button" value="Go to form Browse" action="form">
<f:param name="name" value="#{indexBean.name_id}" />
</h:commandButton>
請記住,此按鈕也是由ajax事件重新渲染的:selectOneMenu傳遞選定的值。
和導航的情況:
<navigation-rule>
<from-view-id>/index.xhtml</from-view-id>
<navigation-case>
<from-outcome>
form
</from-outcome>
<to-view-id>
/form.xhtml
</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>
重定向標記是新增加的,這使JavaScript的初始化函數。
你在你的代碼中有「
Damian
它是h:沒有空間的身體。 –
你如何瀏覽?在faces-config.xml中使用導航規則?或者在action方法中返回一個String?或使用commandButton/commandLink操作屬性? – Damian