2015-10-15 75 views
0

我甚至不知道這是否可能。直接從Javascript呈現JSF組件

我有一個Javascript小部件(fyi,一個交互式日曆),我喜歡使用它的功能(有些東西是Primefaces日曆沒有的,例如,每天有一個徽章計算的數量當天的事件等),但我現在想在我的JSF項目中使用它。

這種情況是,當我點擊一天時,會顯示一個面板,顯示當天事件的詳細信息,以及有關更多詳細信息的鏈接,以防當天有事件發生。如果當天沒有活動,則當天的點擊將打開一個新表單,以在該特定日期創建活動。

問題是,這隻能通過Javascript事件來完成,而且我希望僅在該特定日期的事件中加載該面板,並使用正確的鏈接。我認爲有直接從Javascript代碼呈現<h:commandLink>的方法,但看起來情況並非如此。

有沒有人有更好的解決方案呢?

+0

在JSF中,渲染髮生在服務器端,因此您需要將它們全部渲染並在客戶端顯示您想要的或者執行異步(ajax)調用以獲取代碼你想要渲染的部分。基本上,如答案所述。 –

回答

2

考慮來自PrimeFaces的p:remoteCommand作爲可能的解決方案。例如:

<h:form> 
    <p:remoteCommand name="rc" update="yourCommandLinkId" /> 
    <input type="button" onclick="rc()" value="Submit" /> 
</h:form> 

您也可以直接調用Javascript AJAX函數。以this question爲例

+0

這就是它!對於我的情況,''很漂亮,我只是使用Primefaces擴展來修改你的解決方案,以便爲我的方法設置參數,並且我必須發現如何將它們從Javascript轉換爲Java,但是之後它很容易: ' \t \t \t \t ' –