【发布时间】:2012-09-18 21:29:03
【问题描述】:
在 JSF 中,将 JavaScript 集成到复合组件中的“正确”和“干净”方式是什么?我是Unobtrusive JavaScript 的粉丝,并将 HTML 与 JS 与 CSS 分开。什么是尽可能少的怪癖的好方法?这是迄今为止我最喜欢的:
<composite:interface>
// ...
</composite:interface>
<composite:implementation>
// ...
<script> initSomething('#{cc.clientId}'); </script>
</composite:implementation>
我不喜欢的是,使用language A 生成language B。事件处理程序和其他东西基本上也是如此。我最喜欢的是通过<insert favorite DOM JavaScript library here> 附加这些处理程序。这可能吗?您如何进行这种集成?
【问题讨论】:
-
我不确定我是否理解您的具体问题/问题。例如,您可以使用 jQuery。 PrimeFaces 和 RichFaces 等流行的 JSF 组件库也使用 jQuery。
-
是的,当然。但不知何故,我必须检索对该 DOM 元素的引用。使用 ID 将是确保其唯一性的唯一方法(毕竟这就是 ID 的用途)。现在我不想生成一些 JavaScript,但是我如何获得一个 DOM 节点呢?
标签: javascript jsf integration composite-component