从backbean JSF更新Javascript源代码

时间:2013-07-23 08:48:17

标签: java javascript ajax jsf primefaces

我的XHTML文件中有Javscript

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

现在我还有其他一些javascripts。它们实际上是主题。

我想让用户灵活地更改它们(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

我把那个格子放在表单中然后它不会抛出错误但脚本名称仍然保持不变。

有没有人有更好的想法或任何其他方式来实现它?

1 个答案:

答案 0 :(得分:1)

如果您尝试从表单内的组件更新它,则必须使用panelGrid的绝对id,否则primefaces将尝试在表单内更新id为jsName的内容。当您想要使用绝对ID时,您必须预先设置:。因此,请尝试以下按钮:

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