2013-07-23 80 views
0

更新的Javascript源我有Javscript在我的XHTML文件從backbean JSF

<script src="test1.js"></script> 

現在我有幾個其他的JavaScript以及。他們實際上是主題。

我想讓用戶能夠靈活地改變它們(javascript名稱)frmo下拉框。

我試過這樣

<script src="#{testBean.jsName}</script> 

由於它會是一個Ajax更新,所以我有更新的部分,我和

<h:panelGrid id="jsName"> 
<script src="#{testBean.jsName}</script> 
</h:panelGrid> 

這不是表單內更新。

當我嘗試

<p:commandButton value="Generate" 

actionListener="#{tBean.generateGraph}" update="jsName"></p:commandButton> 

,因爲它說,它無法找到jsName它不工作。

我把那個gride放在窗體裏面,然後它不會拋出錯誤,但腳本名仍然保持不變。

有沒有人有更好的主意或任何其他方式來實現它?

+0

我猜錯字(腳本標記和雙引號不關閉)不在您的實際項目。 – user1983983

+0

是它的一個錯字。 – Makky

+0

如果你想swith主題,試圖看看primefaces ThemeSwitcher? http://www.primefaces.org/showcase/ui/themeswitcher.jsf –

回答

1

如果您嘗試從表單中的組件更新它,則必須使用panelGrid的絕對ID,否則primefaces將嘗試更新表單中的id jsName。當你想使用絕對編號時,你必須在:之前。所以嘗試下面的按鈕:

<p:commandButton value="Generate" actionListener="#{tBean.generateGraph}" update=":jsName"/> 
+0

雖然它不能真正解決我的問題,但你仍然解決了一些問題。我會接受這個答案。 – Makky