有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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>

我已经试过了,但似乎不起作用

所以,如果有人有任何提示,我将不胜感激


共 (2) 个答案

  1. # 1 楼答案

    JSF组件的Id是通过将层次结构上容器的Id与:分隔符组合而生成的。不是所有的容器都算,我不记得确切的规则

    通常,一些JSF库有一些客户端API来获取richfaces的组件ID,我不知道

    无论如何,如果您想使用基于jQuery的JSF,请看一下primefaces

    希望这有帮助

  2. # 2 楼答案

    混合使用JSF和jquery是可行的,但也存在一些问题

    JSF正在接管您的id,所以如果table是一个id为“form”的表单,html中的实际元素id默认为“form:table”。我认为jquery在选择器中可能有冒号的问题,所以您可以用类标记表,然后按以下方式进行选择:

    <rich:dataTable styleClass="my-table">          
      <rich:column>
    
      </rich:column>
    </rich:dataTable>
    

    并将选择器设置为:

    <script type="text/javascript">
       $(document).ready(function () {
         $('.my-table').dataTable();
    }
    </script>