java JSF到JQuery组件的集成
因为任何JSF页面都会在服务器端转换为其等效的HTML并发送到客户端进行呈现,而客户端的JQuery会获取HTML并重新呈现
从理论上讲,可以将JSF生成的HTML封装到JQuery中,如果是的话,我想知道它是如何完成的。如果可能的话,具体使用RichFaces作为JSF实现
<rich:dataTable id="table">
<rich:column>
</rich:column>
</rich:dataTable>
上面的JSF片段被转换为它的等价HTML,即
<table id="table">
<tr>
<td></td>
</tr>
</table>
难道不可能这样做吗
<script type="text/javascript">
$(document).ready(function () {
$('#table').dataTable();
}
</script>
我已经试过了,但似乎不起作用
所以,如果有人有任何提示,我将不胜感激
# 1 楼答案
JSF组件的Id是通过将层次结构上容器的Id与:分隔符组合而生成的。不是所有的容器都算,我不记得确切的规则
通常,一些JSF库有一些客户端API来获取richfaces的组件ID,我不知道
无论如何,如果您想使用基于jQuery的JSF,请看一下primefaces
希望这有帮助
# 2 楼答案
混合使用JSF和jquery是可行的,但也存在一些问题
JSF正在接管您的id,所以如果table是一个id为“form”的表单,html中的实际元素id默认为“form:table”。我认为jquery在选择器中可能有冒号的问题,所以您可以用类标记表,然后按以下方式进行选择:
并将选择器设置为: