我的 XHTML 文件中有 Javscript
<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
。
我将该网格放入表单中,这样它就不会抛出错误,但脚本名称仍将保持不变。
有没有人有更好的想法或任何其他方法来实现它?
最佳答案
如果您尝试从表单内的组件更新它,则必须使用 panelGrid 的绝对 id,否则 primefaces 将尝试更新表单内 id jsName
的内容。当您想使用绝对 id 时,您必须在 :
前面。因此,请尝试对按钮执行以下操作:
<p:commandButton value="Generate" actionListener="#{tBean.generateGraph}" update=":jsName"/>
关于java - 从 backbean JSF 更新 Javascript 源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17805481/