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
Smith L KolmetzSpainStephen Shaw NEGOTIATION
Greenwood B DilliardJapanXuxue Feng RENEWAL
Claire Q RimCanadaAnna Fali NEGOTIATION
Salvatore H FlosiAustraliaIvan Magalhaes RENEWAL
Clifford Y ChuiFranceOnyama Limba NEGOTIATION
Sinclair S DoeRussiaIvan Magalhaes PROPOSAL
Sinclair U BriddickGermanyXuxue Feng NEW
Mayumi J StockhamArgentinaBernardo Dominic PROPOSAL
Emily V TollnerBrazilAsiya Javayant RENEWAL
Kaitlin L ButtGermanyAnna Fali NEGOTIATION
Adams C SlusarskiUnited KingdomStephen Shaw UNQUALIFIED
Smith G GarufiFranceAsiya Javayant QUALIFIED
Antonio N StensethCanadaIvan Magalhaes QUALIFIED
Darci S GauchoItalyIvan Magalhaes NEW
Kadeem S OstroskyArgentinaOnyama Limba NEW
Juan D ChuiItalyIoni Bowcher PROPOSAL
Johnson Q RimAustraliaAsiya Javayant NEW
Jefferson D RutaIndiaAsiya Javayant UNQUALIFIED
Kadeem O OldroydFranceIvan Magalhaes NEGOTIATION
Mayumi X FerenczIndiaOnyama Limba NEGOTIATION
Claire Y KolmetzJapanAnna Fali RENEWAL
Darci Z KolmetzAustraliaIoni Bowcher NEW
Julie Z InouyeUnited KingdomAmy Elsner RENEWAL
Alejandro L ButtGermanyAmy Elsner QUALIFIED
Ashley C BologniaJapanAnna Fali RENEWAL
Deepesh U StockhamArgentinaAnna Fali UNQUALIFIED
Cody R PerinFranceAnna Fali NEGOTIATION
Smith F FlosiJapanBernardo Dominic QUALIFIED
Aditya T KolmetzCanadaAnna Fali NEGOTIATION
Ivar C SlusarskiBrazilXuxue Feng NEW
Nicolas T GlickJapanAsiya Javayant NEW
Rodrigues U MaletRussiaAmy Elsner QUALIFIED
Kadeem H AlbaresCanadaOnyama Limba NEW
Johnson Q GarufiCanadaStephen Shaw NEGOTIATION
Misaki Z MorascaAustraliaBernardo Dominic UNQUALIFIED
Juan C VocelkaFranceAsiya Javayant NEW
Juan S TollnerArgentinaAmy Elsner NEGOTIATION
James L IturbideSpainStephen Shaw RENEWAL
Emily I AmigonRussiaAsiya Javayant UNQUALIFIED
Faith I NestleSpainAmy Elsner QUALIFIED
Misaki J OstroskySpainXuxue Feng PROPOSAL
Juan P CampainIndiaIvan Magalhaes NEGOTIATION
Maria L IturbideAustraliaXuxue Feng PROPOSAL
Rodrigues Y RoysterItalyIoni Bowcher RENEWAL
Ricardo G KuskoItalyAmy Elsner RENEWAL
Greenwood G FigeroaUnited KingdomAmy Elsner UNQUALIFIED
Misaki D GillianGermanyStephen Shaw UNQUALIFIED
Octavia A FlosiAustraliaIvan Magalhaes NEW
Greenwood Q RulapaughJapanAsiya Javayant QUALIFIED
Jefferson E NestleFranceOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Maria Z RoysterFranceXuxue Feng UNQUALIFIED
Jennifer H GarufiItalyIoni Bowcher NEGOTIATION
Smith T SlusarskiAustraliaAsiya Javayant NEGOTIATION
Jones M MorascaJapanIvan Magalhaes NEGOTIATION
Nicolas A SaylorsJapanOnyama Limba RENEWAL
Jeanfrancois D RulapaughItalyIvan Magalhaes PROPOSAL
Silvio O CampainRussiaIvan Magalhaes QUALIFIED
Ivar Z SaylorsGermanyStephen Shaw UNQUALIFIED
Ashley S FerenczIndiaAmy Elsner UNQUALIFIED
Chavez T ShinkoRussiaBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford K MacleadFrance2026-01-03Rangoni Of Florence NEW14Ioni Bowcher
1001Murillo E WaycottRussia2025-12-28Printing Dimensions NEGOTIATION67Stephen Shaw
1002Maria W MorascaRussia2025-12-26Buckley Miller Wright PROPOSAL51Amy Elsner
1003Tony O ButtIndia2025-12-11Chanay, Jeffrey A Esq QUALIFIED2Stephen Shaw
1004Aruna Z SergiCanada2025-12-25Chanay, Jeffrey A Esq NEW96Asiya Javayant
1005Alejandro Z NickaFrance2025-12-31Chapman, Ross E Esq UNQUALIFIED64Onyama Limba
1006Octavia L FollerFrance2025-12-26Feiner Bros RENEWAL51Amy Elsner
1007Misaki E MorascaSpain2026-01-04Buckley Miller Wright NEGOTIATION7Xuxue Feng
1008Salvatore F MarrierIndia2025-12-23Buckley Miller Wright QUALIFIED88Xuxue Feng
1009Leon D AlbaresItaly2025-12-13Truhlar And Truhlar Attys NEGOTIATION57Stephen Shaw
1010Julie Y OstroskyGermany2025-12-21Rangoni Of Florence PROPOSAL82Ivan Magalhaes
1011Alejandro K SergiFrance2026-01-06Feltz Printing Service RENEWAL91Ivan Magalhaes
1012Leja G NickaFrance2025-12-19King, Christopher A Esq NEW90Amy Elsner
1013Leon D FigeroaRussia2025-12-17Feiner Bros NEW44Xuxue Feng
1014Costa Q PaprockiUnited Kingdom2025-12-12Truhlar And Truhlar Attys QUALIFIED8Stephen Shaw
1015Ivar D FigeroaCanada2025-12-14Chanay, Jeffrey A Esq QUALIFIED95Ioni Bowcher
1016Emily J SergiArgentina2025-12-17Benton, John B Jr PROPOSAL50Ioni Bowcher
1017Adams G SaylorsJapan2025-12-30Dorl, James J Esq UNQUALIFIED1Onyama Limba
1018Silvio C VocelkaSpain2025-12-16Chanay, Jeffrey A Esq NEGOTIATION82Bernardo Dominic
1019Stacey O StockhamBrazil2026-01-03Feiner Bros NEGOTIATION18Onyama Limba
1020Munro M SergiFrance2025-12-15Chapman, Ross E Esq PROPOSAL32Elwin Sharvill
1021Aruna U MaletRussia2025-12-20Morlong Associates PROPOSAL45Ivan Magalhaes
1022Jennifer S MaletRussia2025-12-31Chemel, James L Cpa PROPOSAL86Xuxue Feng
1023Octavia B StensethSpain2025-12-21Truhlar And Truhlar Attys QUALIFIED23Anna Fali
1024Isabel N GlickJapan2025-12-13Dorl, James J Esq QUALIFIED96Stephen Shaw
1025Deepesh W MacleadItaly2025-12-16Commercial Press PROPOSAL16Asiya Javayant
1026Silvio O NestleBrazil2025-12-27Dorl, James J Esq QUALIFIED90Xuxue Feng
1027Aruna O CaudyItaly2025-12-23King, Christopher A Esq UNQUALIFIED79Stephen Shaw
1028Kaitlin H InouyeAustralia2025-12-20Feiner Bros RENEWAL44Elwin Sharvill
1029Maria I StockhamCanada2025-12-10Chanay, Jeffrey A Esq UNQUALIFIED29Asiya Javayant
1030James Y OldroydRussia2025-12-26Chanay, Jeffrey A Esq RENEWAL22Onyama Limba
1031Emily M NickaSpain2026-01-08Feltz Printing Service NEW46Anna Fali
1032Salvatore Y DoeIndia2026-01-01Feiner Bros NEW84Ivan Magalhaes
1033Jefferson V CaldareraSpain2025-12-14Morlong Associates NEW8Bernardo Dominic
1034Silvio A PerinBrazil2025-12-28Feltz Printing Service NEW37Onyama Limba
1035Jefferson Y FollerUnited Kingdom2025-12-30Chanay, Jeffrey A Esq PROPOSAL84Onyama Limba
1036Claire D VenereItaly2025-12-31King, Christopher A Esq QUALIFIED4Ivan Magalhaes
1037Jeanfrancois A CampainArgentina2026-01-05Dorl, James J Esq NEW65Stephen Shaw
1038Sinclair T CampainSpain2025-12-11Rangoni Of Florence NEW75Stephen Shaw
1039David H MaletAustralia2026-01-08Feltz Printing Service NEGOTIATION78Elwin Sharvill
1040Kaitlin Y FollerItaly2025-12-28Chanay, Jeffrey A Esq RENEWAL23Xuxue Feng
1041Francesco W StensethJapan2025-12-28Printing Dimensions NEW16Elwin Sharvill
1042Ricardo Y CampainFrance2026-01-08Morlong Associates RENEWAL30Onyama Limba
1043Costa X SchemmerItaly2025-12-28Chapman, Ross E Esq NEW37Anna Fali
1044Julie Y DarakjyBrazil2026-01-03Chapman, Ross E Esq NEGOTIATION85Bernardo Dominic
1045Antonio J MacleadFrance2025-12-28Commercial Press UNQUALIFIED9Asiya Javayant
1046Costa Z SchemmerRussia2026-01-07Dorl, James J Esq PROPOSAL67Bernardo Dominic
1047Murillo S FollerFrance2025-12-11Commercial Press NEGOTIATION18Amy Elsner
1048Greenwood R GlickArgentina2025-12-20Chanay, Jeffrey A Esq PROPOSAL95Stephen Shaw
1049Maisha X PoquetteJapan2025-12-31Chanay, Jeffrey A Esq QUALIFIED73Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Misaki O BowleyIndiaElwin Sharvill PROPOSAL
Rodrigues Y MaletGermanyAnna Fali PROPOSAL
Munro U DoeGermanyElwin Sharvill NEW
Ashley Q CaudyItalyAmy Elsner PROPOSAL
Wickens A DarakjyBrazilStephen Shaw UNQUALIFIED
Maria G CampainAustraliaElwin Sharvill NEGOTIATION
Morrow Q ShinkoIndiaOnyama Limba UNQUALIFIED
Costa W IturbideArgentinaAsiya Javayant NEGOTIATION
Maria S PerinAustraliaAnna Fali UNQUALIFIED
Leon E GlickGermanyXuxue Feng UNQUALIFIED
Rodrigues D IturbideUnited KingdomAmy Elsner RENEWAL
Mujtaba D GauchoUnited KingdomAnna Fali QUALIFIED
Darci E GillianGermanyBernardo Dominic NEGOTIATION
Jones K KuskoItalyAnna Fali NEW
Johnson O RutaArgentinaStephen Shaw PROPOSAL
Munro D FerenczAustraliaAnna Fali NEW
Nicolas S MarrierAustraliaXuxue Feng UNQUALIFIED
Leon G MaletUnited KingdomAmy Elsner UNQUALIFIED
Leja Z DoeAustraliaElwin Sharvill NEGOTIATION
Aruna T RoysterItalyAmy Elsner NEGOTIATION
Rodrigues X KolmetzJapanAnna Fali NEW
Clifford P RimCanadaBernardo Dominic NEGOTIATION
Deepesh G GlickItalyIoni Bowcher PROPOSAL
Julie H DoeFranceOnyama Limba RENEWAL
Stacey S PerinItalyStephen Shaw RENEWAL
Smith B RutaJapanXuxue Feng NEW
Jefferson N MaletCanadaAmy Elsner QUALIFIED
Johnson B ChuiFranceIvan Magalhaes RENEWAL
Ashley E KolmetzArgentinaAsiya Javayant UNQUALIFIED
Clifford Y SlusarskiJapanXuxue Feng UNQUALIFIED
Morrow B PerinFranceOnyama Limba NEGOTIATION
Maisha T ShinkoUnited KingdomAmy Elsner RENEWAL
Greenwood X MaletIndiaStephen Shaw NEGOTIATION
Aika L SchemmerArgentinaIoni Bowcher QUALIFIED
Leon I AlbaresJapanAnna Fali QUALIFIED
Jones H MaletIndiaAsiya Javayant UNQUALIFIED
Johnson U FlosiRussiaAsiya Javayant RENEWAL
Ivar E AlbaresIndiaIvan Magalhaes QUALIFIED
Misaki X GillianCanadaAmy Elsner PROPOSAL
Adams R CampainItalyAmy Elsner NEGOTIATION
Clifford H RimGermanyOnyama Limba NEW
Sinclair Y KolmetzJapanOnyama Limba UNQUALIFIED
Mujtaba E KuskoGermanyBernardo Dominic NEW
Leja E FigeroaRussiaAnna Fali NEGOTIATION
Cody X MarrierGermanyElwin Sharvill NEGOTIATION
Stacey P StockhamGermanyOnyama Limba NEGOTIATION
Emily P SergiCanadaAsiya Javayant PROPOSAL
Leon P WhobreyIndiaElwin Sharvill NEW
Jennifer I RimItalyAnna Fali RENEWAL
Francesco H BologniaSpainStephen Shaw QUALIFIED
Frozen Columns
Name
Jennifer V Morasca
Chavez U Shinko
Alejandro H Whobrey
Wickens H Dilliard
Nicolas Y Kolmetz
James F Figeroa
Izzy Q Venere
Julie A Flosi
Izzy J Royster
David G Glick
Misaki J Rim
Wickens R Bolognia
Tony S Schemmer
Nicolas B Rulapaugh
David R Ruta
Chavez P Kolmetz
Jefferson B Saylors
Aika Q Albares
Izzy Q Maclead
Darci H Ruta
Leon B Schemmer
Costa H Marrier
David P Caldarera
Salvatore W Foller
Ivar S Dilliard
Leon H Foller
Greenwood C Gillian
Jeanfrancois L Dilliard
Tony Q Perin
Aruna D Chui
Clifford D Foller
Sinclair K Vocelka
Clifford D Ostrosky
Misaki Q Foller
Clifford N Ostrosky
Jeanfrancois Y Gillian
Aika S Whobrey
Deepesh G Ferencz
Stacey U Nicka
Leja E Vocelka
Isabel B Flosi
David S Ferencz
Julie S Kusko
Maria O Marrier
Octavia C Maclead
Maisha X Bowley
Arvin V Iturbide
David H Briddick
Ricardo G Malet
Maisha X Ruta
IdCountryDate
1000Germany2025-12-22
1001Spain2025-12-23
1002Italy2025-12-30
1003India2026-01-06
1004Brazil2025-12-18
1005Germany2025-12-11
1006Germany2025-12-26
1007Argentina2025-12-27
1008Canada2025-12-23
1009Australia2025-12-18
1010Spain2025-12-22
1011United Kingdom2026-01-07
1012Spain2026-01-01
1013Italy2025-12-11
1014Russia2025-12-31
1015Italy2026-01-05
1016Australia2026-01-02
1017Italy2025-12-22
1018India2025-12-24
1019Brazil2025-12-29
1020Germany2025-12-22
1021United Kingdom2025-12-25
1022India2025-12-22
1023France2025-12-21
1024Japan2025-12-25
1025Canada2026-01-01
1026Japan2025-12-15
1027Italy2025-12-20
1028India2026-01-01
1029Spain2025-12-30
1030Canada2025-12-10
1031Australia2026-01-07
1032Germany2026-01-02
1033Italy2025-12-16
1034France2025-12-25
1035Germany2025-12-11
1036Canada2026-01-08
1037Australia2026-01-07
1038Argentina2025-12-30
1039Italy2025-12-21
1040Italy2025-12-12
1041Germany2025-12-22
1042India2025-12-31
1043Russia2025-12-30
1044Germany2026-01-06
1045Argentina2025-12-14
1046Canada2026-01-05
1047United Kingdom2026-01-07
1048France2025-12-20
1049Argentina2025-12-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore N SaylorsItalyXuxue Feng NEW
Darci C MacleadIndiaOnyama Limba UNQUALIFIED
Jefferson Y FlosiArgentinaStephen Shaw NEW
Misaki V CampainItalyIoni Bowcher NEW
Misaki I TollnerItalyIvan Magalhaes NEGOTIATION
Stacey Y StockhamArgentinaIoni Bowcher QUALIFIED
Misaki S WieserUnited KingdomBernardo Dominic NEGOTIATION
Tony M MorascaUnited KingdomXuxue Feng RENEWAL
Sinclair G VenereItalyXuxue Feng PROPOSAL
Jeanfrancois Q FlosiRussiaAmy Elsner PROPOSAL
Aruna S BowleyJapanStephen Shaw NEW
Ivar L CaldareraFranceXuxue Feng NEW
Claire O MaletIndiaStephen Shaw QUALIFIED
Alejandro U SaylorsArgentinaAsiya Javayant RENEWAL
Aruna L InouyeAustraliaAsiya Javayant UNQUALIFIED
Rodrigues J FerenczAustraliaAsiya Javayant PROPOSAL
Maisha R StockhamGermanyStephen Shaw RENEWAL
Murillo B PaprockiBrazilAmy Elsner RENEWAL
David S PerinGermanyBernardo Dominic NEW
Isabel V KolmetzGermanyAsiya Javayant PROPOSAL
Emily Y PoquetteCanadaStephen Shaw NEGOTIATION
Mujtaba G StockhamUnited KingdomAsiya Javayant QUALIFIED
Stacey Y ButtRussiaStephen Shaw UNQUALIFIED
Isabel E MarrierJapanAsiya Javayant NEGOTIATION
Ivar B OldroydIndiaStephen Shaw UNQUALIFIED
Adams W VenereAustraliaOnyama Limba PROPOSAL
Isabel B DoeBrazilAsiya Javayant NEGOTIATION
Kaitlin U PoquetteGermanyXuxue Feng PROPOSAL
Maria Q WhobreyBrazilAmy Elsner NEGOTIATION
Antonio Z MacleadArgentinaOnyama Limba QUALIFIED
Jennifer R ShinkoAustraliaXuxue Feng PROPOSAL
Izzy P SchemmerRussiaStephen Shaw UNQUALIFIED
Leja B RutaArgentinaIoni Bowcher QUALIFIED
Octavia L AmigonAustraliaXuxue Feng RENEWAL
Sinclair N InouyeSpainIvan Magalhaes RENEWAL
Leja C GauchoAustraliaElwin Sharvill NEW
Tony U OstroskySpainBernardo Dominic NEW
Julie I MorascaJapanOnyama Limba NEW
Isabel Q AmigonArgentinaOnyama Limba RENEWAL
Aika U VenereUnited KingdomAnna Fali UNQUALIFIED

<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: