在Web 開發中,有必要根據客戶端上發生的特定事件來執行伺服器端操作-邊。這可以在 JavaServer Faces (JSF) 中透過採用各種方法來實現。其中一種方法是在 HTML DOM 載入事件期間使用 Ajax 呼叫 JSF 託管 bean 操作方法。
在JSF 2.3 及更高版本中,
<h:form> <h:commandScript name="commandName" action="#{bean.action}" render=":results" /> </h:form> <h:panelGroup>
可以使用純JavaScript 呼叫此腳本:
commandName();
設定autorun="true" 在 DOM 載入期間觸發它。
如果使用PrimeFaces,請考慮使用其
<h:form> <p:remoteCommand name="commandName" action="#{bean.action}" update=":results" /> </h:form> <h:panelGroup>
調用類似於
commandName();
PrimeFaces 使用jQuery 進行AJAX 調用,而不是JSF 原生jsf.ajax。 request().
對於2.3 之前的JSF 版本,OmniFaces 提供
<o:form> <o:commandScript name="commandName" action="#{bean.action}" render=":results" /> </o:form>
相同只需將h:commandScript 替換為o:commandScript。
另一種方法涉及利用帶有
<h:form>
調用:
document.getElementById("form:button").onclick();
作為最後的手段,我們可以開發一個擴展 UICommand 並利用 jsf.ajax.request() 的自訂 UIComponent。
總之,這些方法使開發人員能夠使用本機 JavaScript 在 HTML DOM 事件上呼叫 JSF 託管 bean。方法的選擇取決於 JSF 版本、庫使用情況和項目限制等因素。
以上是如何使用 JavaScript 在 HTML DOM 事件上呼叫 JSF 託管 Bean?的詳細內容。更多資訊請關注PHP中文網其他相關文章!