动态添加JSF Composite Component脚本时不会包含它

时间:2017-02-09 08:27:57

标签: javascript jsf jsf-2 composite-component

我有一个用于多语言文本输入的复合JSF组件 - 它呈现多个输入并使用JS切换其可见性。我正在使用

添加JS脚本
<h:outputScript name="custom/multiLangInput.js" target="body"/>
<composite:implementation>中的

。我不希望将其内联,因为一个页面上有多个组件的可能性 - 我希望仍然只有一个脚本实例。它运行良好,但问题是当我在ajax请求上加载了一部分页面(包括此自定义标记)时 - 它正确呈现组件,但脚本没有包含在内,语言切换无法正常工作。 如何在仍然将其限制为每页一个脚本实例的情况下开始工作?我不希望在页面/主题中包含硬编码的脚本 - 我希望复合标记具有通用性和可重用性。

1 个答案:

答案 0 :(得分:0)

我使用了类似的符号,因为你只是加载一个JS文件一次就放在这里。我能看到的唯一区别是我总是将目标设定为头部,而不是身体。

<h:outputScript name="default/vendor/pikaday/js/pikaday.js"
            target="head" />