You need to enable JavaScript to run this app. PrimeFaces p:dataTable从Bean获取值后页面不显示问题排查求助
优惠活动
大模型
产品
解决方案
定价
更多

PrimeFaces p:dataTable从Bean获取值后页面不显示问题排查求助

p:dataTable不显示排查方案
  • 检查页面PrimeFaces命名空间:确保xhtml页面头部引入了xmlns:p="http://primefaces.org/ui"声明,缺省该配置时p前缀的标签不会被JSF解析渲染,浏览器会直接忽略对应节点。
  • 适配空数据场景:给<p:dataTable>标签新增emptyMessage="暂无数据"属性,若返回的empresas集合为空时会显示该提示,可排除空数据导致看不到表格的情况。
  • 校验Bean注解导入正确性:确认@SessionScoped的导入包和@ManagedBean适配,若使用JSF自带的@ManagedBean,必须导入javax.faces.bean.SessionScoped,错导入CDI的作用域注解会导致Bean无法被正确初始化,前端无法读取到数据。
  • 排查CSS样式冲突:按F12打开浏览器开发者工具,检索dom中是否存在p-datatable相关节点,确认外层tablaStock类是否配置了display:none、宽高为0等隐藏样式。
  • 确认后端方法执行状态:检查后台日志是否输出了empresas.size()的正确数值,若无输出说明@EJB注入的远程服务调用失败,empresas仍为null,需先排查远程服务的可用性。

修正参考代码

<!-- 页面头部必须引入PrimeFaces命名空间 -->
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.org/ui">
<h:body>
    <h:form>
        <div class="tablaStock">
            <p:dataTable var="stock" value="#{empresaFarmaciaBeanDTT.empresas}" emptyMessage="暂无企业数据">
                <p:column headerText="Code">
                    <h:outputText value="#{stock.direccion}" />
                </p:column>
                <p:column headerText="Name">
                    <h:outputText value="#{stock.departamento}" />
                </p:column>
            </p:dataTable>
        </div>
    </h:form>
</h:body>
</html>

内容的提问来源于stack exchange,提问作者Agustin Rodriguez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.20 05:24:03