Jsp 覆盖两个不同Portlet的数据表之间的记录
我使用Primefaces和JSP,在我的页面中有两个独立的Portlet,一个位于另一个之上,每个Portlet都有一个datatable。每个表的列数不同(第一个表3列,第二个表10列) 当页面加载时,上表中的一条或多条记录下放到下表,从而隐藏和覆盖属于下表的记录。这是随机发生的,不是每次加载页面时都会发生 数据表的ID是不同的Jsp 覆盖两个不同Portlet的数据表之间的记录,jsp,datatable,primefaces,Jsp,Datatable,Primefaces,我使用Primefaces和JSP,在我的页面中有两个独立的Portlet,一个位于另一个之上,每个Portlet都有一个datatable。每个表的列数不同(第一个表3列,第二个表10列) 当页面加载时,上表中的一条或多条记录下放到下表,从而隐藏和覆盖属于下表的记录。这是随机发生的,不是每次加载页面时都会发生 数据表的ID是不同的 我能做些什么来解决这个问题吗?经过深入的代码调试后,我发现在创建datatable时,Yahoo的UI“yui rec”元素没有被逐步创建和处理,即yui-rec0
我能做些什么来解决这个问题吗?经过深入的代码调试后,我发现在创建datatable时,Yahoo的UI“yui rec”元素没有被逐步创建和处理,即yui-rec0,yui-rec1,…,yui recN来自第一个表,yui rec(N+1)。。。。第二张表中的yui rec(N+M)。相反,前N个元素中的一些元素已被发现为存在,然后移动到第二个表中 通过在每个portlet的JSP中重新定义yui rec ID,问题得以解决:
<script type="text/javascript">
updateID = function() {
var table1 = document.getElementById('view<portlet:namespace/>:table1')
Array.from(table1.getElementsByTagName('tr')).forEach(function(item) {
if (item.id.includes('yui-rec')) {
item.id=item.id+'_'
}})
}
<script>
updateID=函数(){
var table1=document.getElementById('视图:table1')
数组.from(表1.getElementsByTagName('tr')).forEach(函数(项){
如果(项目id包括('yui-rec')){
item.id=item.id+“”
}})
}