Locale

Change the locale of the datepicker, schedule and client side validation messages.

Input Style

Free Themes

Built-in component themes created by the PrimeFaces Theme Designer.

PrimeOne Design

Saga Saga
Vela Vela
Arya Arya

Premium Themes

Premium themes are only available exclusively for PrimeFaces Theme Designer subscribers and therefore not included in PrimeFaces core.

Bootstrap light blue and dark blue themes are also included in PrimeFaces 10.x builds for Elite subscribers.

bootstrap4-blue-light Bootstrap Blue
bootstrap4-purple-light Bootstrap Purple
bootstrap4-blue-dark Bootstrap Blue
bootstrap4-purple-dark Bootstrap Purple

Legacy Free Themes

Luna Amber Luna Amber
Luna Blue Luna Blue
Luna Green Luna Green
Luna Pink Luna Pink
Nova Nova
Nova Nova Alt
Nova Nova Accent

PREMIUM TEMPLATES

Create awesome applications in no time using the premium templates and impress your users.

DataTable Scroll

Both vertical and horizontal scrolling of the data is supported with optional frozen rows-columns and on-demand loading features.

Vertical
NameCountryRepresentativeStatus
Stacey Z AmigonFranceStephen Shaw RENEWAL
Clifford U MorascaArgentinaIoni Bowcher QUALIFIED
Kadeem C FigeroaJapanXuxue Feng PROPOSAL
Aruna J KuskoJapanIvan Magalhaes QUALIFIED
Clifford D KolmetzBrazilStephen Shaw NEW
Tony S TollnerUnited KingdomStephen Shaw NEW
Silvio L GauchoArgentinaStephen Shaw UNQUALIFIED
Misaki R FigeroaCanadaBernardo Dominic RENEWAL
Leon O MaletItalyXuxue Feng QUALIFIED
Aruna J FlosiIndiaAnna Fali PROPOSAL
Aruna Y IturbideFranceAmy Elsner NEGOTIATION
Izzy Y SchemmerRussiaAmy Elsner PROPOSAL
Darci G StensethCanadaStephen Shaw RENEWAL
Wickens S MacleadAustraliaAnna Fali NEGOTIATION
Smith Q RoysterUnited KingdomBernardo Dominic PROPOSAL
Clifford V ButtJapanAnna Fali RENEWAL
Aika N CampainFranceIvan Magalhaes PROPOSAL
David T GauchoIndiaOnyama Limba NEW
David P CaldareraIndiaIvan Magalhaes UNQUALIFIED
Chavez D RutaJapanOnyama Limba NEW
Jefferson B CampainCanadaXuxue Feng QUALIFIED
Munro G GillianJapanXuxue Feng PROPOSAL
James E WhobreyItalyIoni Bowcher NEW
Costa B PaprockiIndiaStephen Shaw RENEWAL
Izzy Y NickaJapanIvan Magalhaes RENEWAL
Ricardo I SaylorsCanadaIoni Bowcher NEGOTIATION
Leon L TollnerSpainAnna Fali NEGOTIATION
Juan Z KuskoAustraliaOnyama Limba UNQUALIFIED
Ashley H FlosiFranceIvan Magalhaes RENEWAL
Salvatore D FigeroaBrazilOnyama Limba QUALIFIED
Ricardo V NestleRussiaAnna Fali UNQUALIFIED
Mayumi G MorascaJapanIoni Bowcher NEGOTIATION
Claire B IturbideIndiaOnyama Limba UNQUALIFIED
Jeanfrancois Q NestleAustraliaOnyama Limba QUALIFIED
Costa U NestleIndiaBernardo Dominic UNQUALIFIED
Darci B GillianArgentinaXuxue Feng RENEWAL
Wickens M MaletJapanOnyama Limba UNQUALIFIED
Antonio S RutaSpainXuxue Feng RENEWAL
Claire S DilliardUnited KingdomIvan Magalhaes NEGOTIATION
Jefferson M ShinkoGermanyElwin Sharvill NEGOTIATION
Kaitlin G ButtGermanyStephen Shaw NEW
Octavia M AmigonUnited KingdomAsiya Javayant QUALIFIED
Maisha Y NestleCanadaIvan Magalhaes QUALIFIED
Maria M MaletRussiaOnyama Limba PROPOSAL
Darci I GarufiUnited KingdomIoni Bowcher PROPOSAL
Wickens I BriddickAustraliaBernardo Dominic QUALIFIED
Sinclair U MacleadArgentinaIoni Bowcher QUALIFIED
Aruna B MorascaAustraliaAmy Elsner NEGOTIATION
Deepesh B StockhamJapanAsiya Javayant NEW
Maria S GlickFranceStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Costa H VenereIndiaElwin Sharvill PROPOSAL
Cody Q BriddickArgentinaStephen Shaw UNQUALIFIED
Chavez J IturbideJapanAmy Elsner NEW
Greenwood K WaycottSpainElwin Sharvill UNQUALIFIED
Kadeem Q FerenczIndiaIoni Bowcher UNQUALIFIED
Faith S MaletBrazilAnna Fali NEW
Julie P RulapaughArgentinaOnyama Limba NEGOTIATION
Jeanfrancois O FollerBrazilElwin Sharvill QUALIFIED
Smith B ShinkoAustraliaXuxue Feng PROPOSAL
Jennifer X NickaCanadaOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin H SaylorsCanada2026-01-07Chapman, Ross E Esq RENEWAL11Elwin Sharvill
1001Francesco X FigeroaIndia2025-12-31Buckley Miller Wright PROPOSAL4Bernardo Dominic
1002Francesco Y NestleCanada2025-12-28Rangoni Of Florence PROPOSAL74Bernardo Dominic
1003Smith I PoquetteArgentina2025-12-12Morlong Associates NEGOTIATION99Stephen Shaw
1004Aditya V FollerSpain2026-01-01Rousseaux, Michael Esq NEW22Bernardo Dominic
1005Julie K GillianGermany2025-12-24Truhlar And Truhlar Attys UNQUALIFIED94Bernardo Dominic
1006Jones F GillianIndia2025-12-22Dorl, James J Esq QUALIFIED36Xuxue Feng
1007Nicolas S KuskoFrance2025-12-17Commercial Press UNQUALIFIED42Ivan Magalhaes
1008Kadeem X BriddickGermany2025-12-11King, Christopher A Esq UNQUALIFIED28Amy Elsner
1009Tony J DilliardIndia2026-01-03Chanay, Jeffrey A Esq NEGOTIATION0Onyama Limba
1010Murillo X StensethArgentina2026-01-05Dorl, James J Esq NEW89Ioni Bowcher
1011Jefferson R SergiArgentina2025-12-26Dorl, James J Esq RENEWAL76Bernardo Dominic
1012Alejandro X TollnerBrazil2026-01-02Chapman, Ross E Esq PROPOSAL48Bernardo Dominic
1013Ivar X KuskoRussia2025-12-15Buckley Miller Wright NEGOTIATION88Stephen Shaw
1014James D IturbideIndia2025-12-13King, Christopher A Esq UNQUALIFIED79Xuxue Feng
1015Jeanfrancois Z GarufiUnited Kingdom2025-12-14Rangoni Of Florence QUALIFIED30Stephen Shaw
1016Adams I OldroydUnited Kingdom2025-12-17King, Christopher A Esq QUALIFIED54Asiya Javayant
1017Emily Y DarakjyFrance2025-12-29Commercial Press RENEWAL8Xuxue Feng
1018Mujtaba V NickaFrance2025-12-11Printing Dimensions NEGOTIATION5Onyama Limba
1019Jefferson Q RutaCanada2026-01-04Truhlar And Truhlar Attys PROPOSAL15Xuxue Feng
1020Morrow O FerenczCanada2025-12-17Feiner Bros NEW32Ioni Bowcher
1021Ashley W BowleyAustralia2025-12-13Printing Dimensions NEGOTIATION7Ioni Bowcher
1022Greenwood M OldroydAustralia2025-12-10Rousseaux, Michael Esq RENEWAL1Bernardo Dominic
1023Alejandro B FlosiRussia2026-01-05King, Christopher A Esq PROPOSAL62Anna Fali
1024Murillo Z BowleyRussia2025-12-15Chapman, Ross E Esq UNQUALIFIED35Onyama Limba
1025Kaitlin U PaprockiAustralia2025-12-25Dorl, James J Esq NEW14Amy Elsner
1026Costa U OstroskyGermany2025-12-16Chanay, Jeffrey A Esq NEW73Stephen Shaw
1027Adams L AmigonItaly2025-12-10Chemel, James L Cpa NEGOTIATION29Xuxue Feng
1028David S ShinkoGermany2025-12-24Rangoni Of Florence PROPOSAL9Xuxue Feng
1029Murillo C RulapaughItaly2025-12-17Dorl, James J Esq NEW52Ivan Magalhaes
1030Costa F DoeIndia2025-12-15Commercial Press PROPOSAL97Xuxue Feng
1031Chavez B BriddickItaly2025-12-11Feiner Bros RENEWAL8Ioni Bowcher
1032Faith V StockhamFrance2025-12-28Feiner Bros QUALIFIED19Stephen Shaw
1033Morrow I BologniaItaly2026-01-07Chanay, Jeffrey A Esq UNQUALIFIED60Onyama Limba
1034Murillo J GarufiFrance2025-12-29Dorl, James J Esq NEGOTIATION91Stephen Shaw
1035Rodrigues B BologniaIndia2025-12-25Benton, John B Jr NEW33Anna Fali
1036Aika H AmigonGermany2026-01-04Chemel, James L Cpa NEW71Xuxue Feng
1037Cody V SlusarskiItaly2025-12-10Morlong Associates UNQUALIFIED84Stephen Shaw
1038Octavia V GillianRussia2025-12-27Buckley Miller Wright NEGOTIATION33Bernardo Dominic
1039Aditya L GauchoUnited Kingdom2025-12-19Feiner Bros NEW55Anna Fali
1040Leon B GlickItaly2025-12-24Chemel, James L Cpa QUALIFIED11Elwin Sharvill
1041Ivar N OldroydJapan2025-12-21Commercial Press UNQUALIFIED97Amy Elsner
1042Aruna Q RimCanada2025-12-16Dorl, James J Esq RENEWAL69Elwin Sharvill
1043Tony Y DilliardSpain2025-12-12Dorl, James J Esq PROPOSAL89Elwin Sharvill
1044Claire R CaudyArgentina2025-12-21Dorl, James J Esq NEW39Elwin Sharvill
1045Jeanfrancois F BriddickGermany2025-12-19Dorl, James J Esq QUALIFIED84Stephen Shaw
1046Aruna U OstroskyJapan2025-12-31Truhlar And Truhlar Attys NEW74Elwin Sharvill
1047Ashley S BriddickIndia2026-01-07Printing Dimensions QUALIFIED79Amy Elsner
1048Jefferson Y TollnerItaly2025-12-16Rousseaux, Michael Esq NEGOTIATION34Stephen Shaw
1049Murillo A SaylorsArgentina2025-12-09Chapman, Ross E Esq RENEWAL91Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Salvatore R StensethGermanyAsiya Javayant NEGOTIATION
Aika Q StockhamFranceAnna Fali QUALIFIED
Silvio A OldroydSpainXuxue Feng UNQUALIFIED
Costa K DoeFranceAnna Fali NEW
Munro I CampainFranceElwin Sharvill NEW
Munro Z OldroydSpainIoni Bowcher QUALIFIED
David B MaletSpainElwin Sharvill RENEWAL
James N OstroskyCanadaIoni Bowcher PROPOSAL
Salvatore S NestleArgentinaAnna Fali UNQUALIFIED
Leja K FollerItalyElwin Sharvill UNQUALIFIED
Tony I CaudySpainAnna Fali PROPOSAL
Izzy R StockhamAustraliaAmy Elsner NEW
Faith H SergiArgentinaOnyama Limba QUALIFIED
Chavez Y MaletJapanAsiya Javayant RENEWAL
Maisha O DilliardSpainAnna Fali QUALIFIED
Costa Z KuskoUnited KingdomIoni Bowcher NEW
Adams F ChuiArgentinaIoni Bowcher NEGOTIATION
Juan H AmigonFranceElwin Sharvill PROPOSAL
Maria T VenereGermanyIvan Magalhaes RENEWAL
Munro M BologniaRussiaElwin Sharvill QUALIFIED
Misaki Z NickaItalyIoni Bowcher NEW
Rodrigues H KuskoIndiaIoni Bowcher NEW
Faith M DoeFranceStephen Shaw QUALIFIED
Misaki G WaycottRussiaAnna Fali NEW
Salvatore Q FigeroaCanadaXuxue Feng QUALIFIED
Antonio Q WhobreyGermanyOnyama Limba RENEWAL
Chavez H SaylorsIndiaXuxue Feng NEW
Munro T BowleyJapanIoni Bowcher RENEWAL
Aika U KuskoRussiaAsiya Javayant UNQUALIFIED
Mujtaba E CaldareraUnited KingdomAnna Fali RENEWAL
Smith Q RimAustraliaXuxue Feng QUALIFIED
Arvin D OstroskyGermanyAsiya Javayant NEGOTIATION
Ivar Z SaylorsCanadaAmy Elsner PROPOSAL
Jones R NestleCanadaAnna Fali NEW
Ashley L InouyeArgentinaStephen Shaw UNQUALIFIED
Chavez P OstroskyJapanXuxue Feng RENEWAL
Darci P BriddickAustraliaXuxue Feng RENEWAL
Antonio T FerenczSpainAsiya Javayant PROPOSAL
Nicolas Z GlickUnited KingdomAnna Fali QUALIFIED
Deepesh B StockhamArgentinaIoni Bowcher PROPOSAL
Adams J RimBrazilBernardo Dominic PROPOSAL
Misaki C MarrierIndiaBernardo Dominic PROPOSAL
Maisha T AlbaresSpainAsiya Javayant PROPOSAL
Kadeem T StockhamFranceIvan Magalhaes PROPOSAL
Aika L RimUnited KingdomStephen Shaw NEGOTIATION
Deepesh Z ButtSpainElwin Sharvill NEGOTIATION
Maisha Z SlusarskiBrazilAsiya Javayant NEW
Munro Z GarufiGermanyIvan Magalhaes UNQUALIFIED
Mayumi H WhobreyGermanyXuxue Feng PROPOSAL
Francesco R BowleyAustraliaElwin Sharvill QUALIFIED
Frozen Columns
Name
Smith I Gillian
Maisha S Vocelka
Kadeem O Sergi
Salvatore P Malet
Deepesh U Nestle
David H Wieser
Aika X Glick
Ashley P Nicka
Silvio M Maclead
Leon R Foller
Mujtaba K Doe
Salvatore J Oldroyd
Misaki G Whobrey
Kaitlin S Caldarera
Tony S Caudy
Kadeem D Rim
Ivar P Briddick
Aditya R Caudy
Aika T Wieser
Claire I Tollner
Kaitlin E Kolmetz
Octavia L Poquette
Aika I Briddick
Sinclair Z Campain
Mayumi J Nestle
Julie R Maclead
Antonio A Marrier
Alejandro F Wieser
Mujtaba L Figeroa
Kadeem V Butt
Rodrigues D Figeroa
Jefferson V Darakjy
Francesco R Tollner
Stacey E Tollner
Deepesh P Oldroyd
Deepesh G Perin
Cody E Gaucho
Leja Q Amigon
Silvio E Chui
Greenwood O Doe
Silvio H Gaucho
Sinclair H Foller
Aruna P Slusarski
Arvin C Dilliard
Isabel E Malet
Rodrigues J Briddick
Arvin P Wieser
Kadeem O Morasca
Ashley O Oldroyd
Emily J Briddick
IdCountryDate
1000Spain2026-01-03
1001Germany2025-12-17
1002France2026-01-02
1003France2025-12-13
1004Spain2026-01-05
1005Brazil2025-12-18
1006United Kingdom2025-12-10
1007Brazil2025-12-18
1008Germany2026-01-04
1009India2025-12-31
1010Spain2025-12-15
1011Spain2025-12-14
1012Spain2026-01-06
1013France2025-12-19
1014India2026-01-04
1015Germany2026-01-01
1016Spain2025-12-23
1017Italy2025-12-11
1018United Kingdom2025-12-09
1019Australia2025-12-21
1020Canada2025-12-25
1021Brazil2025-12-13
1022France2025-12-11
1023Italy2025-12-27
1024Australia2025-12-25
1025India2025-12-25
1026Australia2025-12-09
1027Argentina2026-01-07
1028Italy2026-01-04
1029Italy2025-12-24
1030Brazil2025-12-17
1031United Kingdom2025-12-14
1032Brazil2025-12-29
1033Italy2025-12-31
1034Spain2025-12-21
1035India2026-01-04
1036Germany2025-12-19
1037France2025-12-11
1038Canada2025-12-20
1039India2025-12-11
1040Spain2025-12-19
1041Australia2025-12-25
1042Japan2025-12-24
1043Argentina2026-01-02
1044Italy2025-12-25
1045United Kingdom2025-12-19
1046Italy2026-01-01
1047Russia2025-12-31
1048Australia2026-01-04
1049Russia2026-01-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow C ChuiSpainAsiya Javayant NEW
Izzy O GillianUnited KingdomIoni Bowcher RENEWAL
Sinclair P GlickCanadaBernardo Dominic PROPOSAL
Maisha Z VenereArgentinaAnna Fali NEGOTIATION
Costa G VocelkaUnited KingdomOnyama Limba NEGOTIATION
Octavia W VenereRussiaOnyama Limba QUALIFIED
Emily Y WieserItalyXuxue Feng NEGOTIATION
Izzy K GillianBrazilAmy Elsner UNQUALIFIED
Aditya L RutaGermanyStephen Shaw UNQUALIFIED
Salvatore I SergiFranceBernardo Dominic QUALIFIED
Clifford N MarrierArgentinaElwin Sharvill PROPOSAL
Isabel R ChuiCanadaIoni Bowcher PROPOSAL
Sinclair F ShinkoAustraliaAmy Elsner UNQUALIFIED
Cody Y WhobreyAustraliaAnna Fali PROPOSAL
Murillo W NestleCanadaIvan Magalhaes NEW
Octavia N GarufiCanadaAnna Fali PROPOSAL
Juan A WhobreyIndiaBernardo Dominic NEW
Darci C FollerCanadaStephen Shaw NEGOTIATION
Jeanfrancois F SchemmerGermanyIvan Magalhaes PROPOSAL
Emily E NestleUnited KingdomAnna Fali QUALIFIED
Costa C StensethFranceIvan Magalhaes NEW
Emily R RulapaughItalyAmy Elsner QUALIFIED
Smith L FollerGermanyAsiya Javayant PROPOSAL
Aruna J StockhamItalyIoni Bowcher RENEWAL
Sinclair D GauchoJapanIoni Bowcher PROPOSAL
Adams Y FollerGermanyIvan Magalhaes NEGOTIATION
Chavez L PerinGermanyOnyama Limba RENEWAL
Jeanfrancois U RutaIndiaAsiya Javayant NEGOTIATION
Murillo F DarakjySpainStephen Shaw NEGOTIATION
Murillo Z GauchoArgentinaBernardo Dominic QUALIFIED
Juan E MarrierAustraliaIoni Bowcher NEGOTIATION
Ivar N OldroydAustraliaElwin Sharvill PROPOSAL
Leja S AmigonJapanIvan Magalhaes NEW
Stacey J VocelkaAustraliaIoni Bowcher UNQUALIFIED
James N GauchoUnited KingdomAmy Elsner NEGOTIATION
Maisha E SaylorsUnited KingdomIvan Magalhaes UNQUALIFIED
Adams C PerinBrazilOnyama Limba RENEWAL
Costa W AmigonUnited KingdomAsiya Javayant RENEWAL
Aika F DilliardCanadaAmy Elsner QUALIFIED
Jefferson C FollerCanadaXuxue Feng NEGOTIATION

<style>
    .ui-datatable-frozenlayout-left {
        width: 20%;
    }

    .ui-datatable-frozenlayout-right {
        width: 80%;
    }
</style>


<h:form>
    <div class="card">
        <h5 style="margin-top:0">Vertical</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers1}" scrollable="true" scrollHeight="250">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Horizontal</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers2}" scrollable="true" scrollWidth="600">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Horizontal and Vertical</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers3}" scrollable="true" scrollWidth="50%" scrollHeight="250">
            <p:column headerText="Id" footerText="Id">
                <h:outputText value="#{customer.id}"/>
            </p:column>
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Date" footerText="Date">
                <h:outputText value="#{customer.date}"/>
            </p:column>
            <p:column headerText="Company" footerText="Company">
                <h:outputText value="#{customer.company}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
            <p:column headerText="Activity" footerText="Activity">
                <h:outputText value="#{customer.activity}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Frozen Rows</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers4}" scrollable="true" scrollHeight="250"
                     frozenRows="2">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Frozen Columns</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers5}" scrollable="true" scrollHeight="250"
                     scrollWidth="300" frozenColumns="1">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Id" footerText="Id">
                <h:outputText value="#{customer.id}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Date" footerText="Date">
                <h:outputText value="#{customer.date}"/>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Virtual Scrolling - 20000 Rows</h5>
        <p:dataTable var="customer" value="#{dtScrollView.lazyModel}" scrollRows="20" scrollable="true"
                     virtualScroll="true" scrollHeight="200" rows="40" style="margin-bottom:0">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

</h:form>

Session expired

Reloading page

Message:
StackTrace: