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
Rodrigues B BowleySpainXuxue Feng PROPOSAL
Sinclair A OldroydJapanXuxue Feng QUALIFIED
Mujtaba Y AlbaresRussiaIvan Magalhaes RENEWAL
Claire R CampainIndiaIoni Bowcher NEW
Johnson H RoysterArgentinaAnna Fali RENEWAL
Mayumi L StockhamItalyAmy Elsner NEGOTIATION
Nicolas Q FigeroaFranceStephen Shaw NEGOTIATION
Alejandro H TollnerGermanyOnyama Limba PROPOSAL
Kadeem P KuskoAustraliaIoni Bowcher PROPOSAL
Murillo N FerenczRussiaOnyama Limba QUALIFIED
Mujtaba N AlbaresGermanyAnna Fali NEGOTIATION
Aika R InouyeUnited KingdomOnyama Limba RENEWAL
Aditya H DilliardSpainOnyama Limba NEW
Juan K AlbaresCanadaAsiya Javayant QUALIFIED
Munro Z NickaBrazilAsiya Javayant NEGOTIATION
Leon W RutaBrazilStephen Shaw PROPOSAL
Arvin S GillianJapanXuxue Feng QUALIFIED
Mayumi Q SchemmerIndiaAsiya Javayant RENEWAL
Aditya V GlickAustraliaIoni Bowcher NEW
Misaki H OldroydBrazilOnyama Limba PROPOSAL
Aditya U KolmetzCanadaAnna Fali PROPOSAL
Costa O FollerArgentinaBernardo Dominic QUALIFIED
Cody U FollerIndiaBernardo Dominic PROPOSAL
Arvin D DarakjyIndiaOnyama Limba NEGOTIATION
Murillo D BriddickArgentinaAmy Elsner NEGOTIATION
Rodrigues V GlickCanadaOnyama Limba QUALIFIED
Salvatore V SaylorsCanadaBernardo Dominic PROPOSAL
Julie A BologniaIndiaIvan Magalhaes QUALIFIED
Leon J OldroydFranceXuxue Feng RENEWAL
Mujtaba X SlusarskiJapanAmy Elsner NEGOTIATION
James V PerinAustraliaOnyama Limba NEGOTIATION
Clifford X ChuiRussiaIoni Bowcher UNQUALIFIED
James P MacleadGermanyAnna Fali NEW
Adams C WieserJapanIvan Magalhaes NEGOTIATION
Munro L PerinRussiaAsiya Javayant UNQUALIFIED
Greenwood S GillianUnited KingdomBernardo Dominic RENEWAL
Maria M PerinBrazilBernardo Dominic NEW
Maria A MarrierArgentinaIvan Magalhaes UNQUALIFIED
Mujtaba M OldroydSpainStephen Shaw PROPOSAL
Wickens I GlickBrazilOnyama Limba NEGOTIATION
Tony W SergiItalyStephen Shaw RENEWAL
Leja E FlosiCanadaIvan Magalhaes UNQUALIFIED
Sinclair I MacleadBrazilAsiya Javayant UNQUALIFIED
Adams A PerinGermanyIoni Bowcher NEGOTIATION
Murillo S AmigonGermanyIoni Bowcher RENEWAL
Johnson V PaprockiJapanElwin Sharvill UNQUALIFIED
Jeanfrancois T IturbideBrazilBernardo Dominic QUALIFIED
Salvatore C KolmetzJapanXuxue Feng NEW
Izzy I MaletArgentinaAsiya Javayant RENEWAL
Claire Q GauchoIndiaElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Arvin G CaudyBrazilAnna Fali NEGOTIATION
Jeanfrancois Y SaylorsRussiaOnyama Limba NEW
Juan N MacleadIndiaAmy Elsner PROPOSAL
Darci A BologniaJapanIvan Magalhaes RENEWAL
Claire W VenereArgentinaAmy Elsner QUALIFIED
Nicolas S GarufiFranceAmy Elsner QUALIFIED
Emily Y CaldareraArgentinaAsiya Javayant PROPOSAL
Kaitlin P SchemmerIndiaIvan Magalhaes RENEWAL
Octavia U RimCanadaOnyama Limba QUALIFIED
Leja U FlosiArgentinaBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James S InouyeFrance2026-05-05Chemel, James L Cpa QUALIFIED89Ivan Magalhaes
1001Leja U TollnerArgentina2026-05-16Benton, John B Jr QUALIFIED11Stephen Shaw
1002Murillo Y MarrierCanada2026-04-28Rangoni Of Florence RENEWAL84Anna Fali
1003Clifford Q SchemmerJapan2026-05-17King, Christopher A Esq QUALIFIED95Elwin Sharvill
1004Jennifer L SaylorsSpain2026-04-30Chemel, James L Cpa QUALIFIED85Bernardo Dominic
1005Leon Y GlickArgentina2026-05-17Rousseaux, Michael Esq NEW45Ivan Magalhaes
1006Alejandro L RulapaughIndia2026-05-26Chanay, Jeffrey A Esq PROPOSAL6Onyama Limba
1007Octavia C BowleyBrazil2026-05-24King, Christopher A Esq RENEWAL56Ivan Magalhaes
1008Nicolas I KolmetzUnited Kingdom2026-05-18Chanay, Jeffrey A Esq RENEWAL23Xuxue Feng
1009Izzy S ButtIndia2026-05-16Rangoni Of Florence RENEWAL33Bernardo Dominic
1010Costa Y BriddickAustralia2026-05-05Rangoni Of Florence QUALIFIED63Stephen Shaw
1011Murillo I PoquetteJapan2026-05-03Feiner Bros PROPOSAL10Ioni Bowcher
1012Arvin G VenereRussia2026-05-03Commercial Press NEGOTIATION90Bernardo Dominic
1013Isabel U BowleyUnited Kingdom2026-05-18Benton, John B Jr NEW99Onyama Limba
1014Claire V BologniaRussia2026-05-08Truhlar And Truhlar Attys PROPOSAL63Xuxue Feng
1015Antonio K RutaItaly2026-05-10Dorl, James J Esq PROPOSAL74Amy Elsner
1016Cody W CampainUnited Kingdom2026-05-02King, Christopher A Esq PROPOSAL64Onyama Limba
1017Deepesh R RutaCanada2026-05-13Morlong Associates NEGOTIATION73Anna Fali
1018Nicolas A SaylorsFrance2026-05-26King, Christopher A Esq NEW17Amy Elsner
1019Cody K CaldareraItaly2026-05-02Printing Dimensions UNQUALIFIED94Amy Elsner
1020Ricardo W BowleyBrazil2026-05-20Printing Dimensions RENEWAL87Bernardo Dominic
1021Darci B MaletBrazil2026-05-06Benton, John B Jr UNQUALIFIED89Onyama Limba
1022Greenwood M CampainItaly2026-04-29King, Christopher A Esq QUALIFIED20Bernardo Dominic
1023Juan I VocelkaItaly2026-05-25Chapman, Ross E Esq UNQUALIFIED2Elwin Sharvill
1024Juan Z TollnerRussia2026-05-13Rousseaux, Michael Esq QUALIFIED22Asiya Javayant
1025James H DilliardRussia2026-04-30Chanay, Jeffrey A Esq PROPOSAL35Xuxue Feng
1026Emily M SaylorsItaly2026-05-05Rangoni Of Florence UNQUALIFIED62Anna Fali
1027Wickens E VenereAustralia2026-05-19Chapman, Ross E Esq QUALIFIED88Stephen Shaw
1028Wickens A RutaSpain2026-05-05Rangoni Of Florence PROPOSAL98Stephen Shaw
1029Maria C GlickArgentina2026-05-26Buckley Miller Wright PROPOSAL44Ioni Bowcher
1030Maisha P TollnerUnited Kingdom2026-05-10Chanay, Jeffrey A Esq RENEWAL32Anna Fali
1031Costa R BologniaFrance2026-04-30Truhlar And Truhlar Attys UNQUALIFIED93Asiya Javayant
1032David H RutaSpain2026-05-26Chanay, Jeffrey A Esq RENEWAL1Asiya Javayant
1033Munro Y MaletItaly2026-05-25Benton, John B Jr PROPOSAL39Xuxue Feng
1034Murillo Z IturbideSpain2026-05-12Commercial Press UNQUALIFIED76Ivan Magalhaes
1035Munro B RoysterGermany2026-05-11Chanay, Jeffrey A Esq NEGOTIATION74Onyama Limba
1036Costa I KuskoIndia2026-05-19Rangoni Of Florence PROPOSAL26Elwin Sharvill
1037Ricardo A MarrierBrazil2026-05-19Rangoni Of Florence NEW91Stephen Shaw
1038Aika C ShinkoItaly2026-05-27Benton, John B Jr UNQUALIFIED90Onyama Limba
1039Ricardo X FerenczFrance2026-05-04Morlong Associates NEGOTIATION78Onyama Limba
1040Clifford U ShinkoAustralia2026-05-13Dorl, James J Esq RENEWAL58Ioni Bowcher
1041Juan Y CaldareraItaly2026-05-07Commercial Press RENEWAL1Bernardo Dominic
1042Ivar U RimRussia2026-05-01King, Christopher A Esq QUALIFIED20Elwin Sharvill
1043Mayumi K KuskoRussia2026-05-18Morlong Associates QUALIFIED53Onyama Limba
1044Deepesh Z NestleRussia2026-05-06Benton, John B Jr UNQUALIFIED72Xuxue Feng
1045Julie U InouyeArgentina2026-05-25Feltz Printing Service RENEWAL84Onyama Limba
1046Morrow Z KuskoFrance2026-04-30Printing Dimensions RENEWAL77Amy Elsner
1047Johnson Z CampainAustralia2026-05-19Buckley Miller Wright NEW30Xuxue Feng
1048Ashley D MorascaItaly2026-05-06Chemel, James L Cpa NEGOTIATION87Bernardo Dominic
1049Mayumi X ShinkoBrazil2026-05-09Rangoni Of Florence NEGOTIATION49Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Mayumi N StensethItalyBernardo Dominic NEGOTIATION
Alejandro I SchemmerArgentinaXuxue Feng UNQUALIFIED
Kaitlin O OldroydUnited KingdomStephen Shaw PROPOSAL
Cody O GillianIndiaAmy Elsner PROPOSAL
Jones B WhobreyIndiaBernardo Dominic UNQUALIFIED
Silvio I BowleyFranceAnna Fali NEGOTIATION
Emily I ShinkoItalyElwin Sharvill NEGOTIATION
Sinclair X PerinAustraliaAnna Fali RENEWAL
Kaitlin R CampainIndiaElwin Sharvill NEGOTIATION
Johnson H PoquetteBrazilIoni Bowcher NEGOTIATION
Mujtaba R BriddickArgentinaBernardo Dominic PROPOSAL
Maisha R PaprockiFranceStephen Shaw NEW
Isabel D CaudyIndiaAsiya Javayant RENEWAL
Jones A RimJapanIoni Bowcher RENEWAL
Wickens H GarufiRussiaOnyama Limba QUALIFIED
Rodrigues M BologniaRussiaAmy Elsner NEGOTIATION
Nicolas G ShinkoAustraliaAmy Elsner PROPOSAL
Leja M SlusarskiArgentinaAmy Elsner PROPOSAL
Juan Q MaletJapanStephen Shaw NEW
Munro J WieserGermanyBernardo Dominic RENEWAL
Maisha O ButtCanadaBernardo Dominic NEGOTIATION
Cody F KuskoCanadaStephen Shaw NEGOTIATION
Chavez I CampainSpainOnyama Limba NEGOTIATION
Claire T DarakjyJapanAmy Elsner NEGOTIATION
Aruna H WieserItalyOnyama Limba UNQUALIFIED
Kadeem B MaletCanadaXuxue Feng QUALIFIED
Izzy X DilliardIndiaBernardo Dominic RENEWAL
Darci W RimArgentinaAnna Fali PROPOSAL
Isabel J ChuiCanadaAnna Fali PROPOSAL
Jeanfrancois N KolmetzCanadaAsiya Javayant PROPOSAL
Costa V KolmetzGermanyAmy Elsner QUALIFIED
Greenwood M IturbideArgentinaBernardo Dominic NEGOTIATION
Leon H BriddickRussiaElwin Sharvill NEGOTIATION
Silvio X WhobreyBrazilOnyama Limba RENEWAL
Emily T GauchoArgentinaStephen Shaw UNQUALIFIED
Kadeem U CaldareraUnited KingdomAmy Elsner PROPOSAL
Mujtaba G ChuiAustraliaXuxue Feng QUALIFIED
Kaitlin T MorascaCanadaAsiya Javayant QUALIFIED
Octavia D TollnerFranceXuxue Feng RENEWAL
Aruna B MacleadRussiaIvan Magalhaes RENEWAL
Greenwood I VenereBrazilStephen Shaw PROPOSAL
Julie N SaylorsJapanBernardo Dominic QUALIFIED
Mayumi O InouyeAustraliaXuxue Feng NEW
James C DoeFranceIvan Magalhaes NEW
Greenwood G MorascaGermanyAmy Elsner NEW
Aditya D GillianArgentinaBernardo Dominic UNQUALIFIED
Isabel B StensethBrazilStephen Shaw QUALIFIED
Isabel A ButtItalyAmy Elsner QUALIFIED
Greenwood E CaldareraGermanyBernardo Dominic QUALIFIED
Ivar V PaprockiRussiaIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Rodrigues I Gillian
Clifford I Stenseth
Misaki R Caudy
Misaki E Nestle
Mujtaba F Saylors
Rodrigues X Ruta
Stacey Q Doe
Munro D Waycott
David R Vocelka
Deepesh D Campain
Wickens O Rulapaugh
Deepesh H Rulapaugh
Emily T Waycott
Sinclair A Gaucho
Misaki Q Bowley
Clifford V Vocelka
James K Rulapaugh
Francesco S Butt
Arvin U Malet
Nicolas C Bolognia
Isabel B Gaucho
Salvatore X Kolmetz
Chavez X Rulapaugh
Alejandro C Glick
Misaki F Maclead
Claire Y Stenseth
Darci A Ostrosky
Leon A Marrier
Munro U Campain
Faith D Flosi
Aruna L Doe
Isabel I Kusko
Kadeem T Rulapaugh
Deepesh S Foller
Mujtaba E Rim
Mujtaba R Malet
Jeanfrancois Y Marrier
Johnson U Glick
Emily B Saylors
Munro S Ostrosky
Leon R Campain
Cody Y Iturbide
Clifford W Dilliard
Alejandro B Stenseth
Mayumi E Doe
Maria O Figeroa
David F Vocelka
Wickens G Malet
Smith U Glick
Silvio A Figeroa
IdCountryDate
1000Russia2026-05-08
1001France2026-05-21
1002Argentina2026-05-20
1003Japan2026-05-07
1004Italy2026-05-12
1005Argentina2026-05-01
1006Japan2026-05-10
1007Russia2026-05-05
1008Australia2026-05-05
1009Argentina2026-05-17
1010India2026-05-23
1011France2026-05-19
1012India2026-05-04
1013Russia2026-05-19
1014United Kingdom2026-05-27
1015Argentina2026-05-17
1016Russia2026-05-22
1017Germany2026-05-12
1018Brazil2026-05-20
1019Brazil2026-05-02
1020Spain2026-05-17
1021United Kingdom2026-05-18
1022Brazil2026-05-24
1023Italy2026-05-26
1024Russia2026-05-08
1025Canada2026-05-15
1026Brazil2026-04-30
1027India2026-04-28
1028Australia2026-04-29
1029Spain2026-05-05
1030Italy2026-05-17
1031India2026-05-24
1032Argentina2026-05-25
1033Japan2026-05-02
1034India2026-05-10
1035Australia2026-05-24
1036France2026-05-11
1037France2026-05-03
1038Canada2026-05-06
1039Japan2026-04-30
1040Russia2026-05-18
1041Canada2026-05-11
1042Australia2026-05-20
1043Japan2026-05-01
1044Spain2026-05-01
1045France2026-04-30
1046France2026-04-29
1047United Kingdom2026-05-12
1048Argentina2026-05-02
1049France2026-04-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens E StockhamIndiaElwin Sharvill RENEWAL
Maisha X OstroskyAustraliaAmy Elsner PROPOSAL
Jeanfrancois F DilliardJapanIvan Magalhaes RENEWAL
Aruna J DoeBrazilIoni Bowcher RENEWAL
Leon G StensethItalyAnna Fali RENEWAL
Emily J GlickUnited KingdomIoni Bowcher PROPOSAL
Ricardo F FigeroaFranceElwin Sharvill PROPOSAL
Kadeem D RoysterJapanElwin Sharvill QUALIFIED
Murillo T OldroydCanadaBernardo Dominic QUALIFIED
Costa B NestleJapanElwin Sharvill UNQUALIFIED
Johnson D InouyeAustraliaOnyama Limba NEW
Claire E RutaUnited KingdomXuxue Feng RENEWAL
Antonio K VocelkaFranceAmy Elsner QUALIFIED
Izzy J WaycottRussiaOnyama Limba NEW
Misaki F PoquetteJapanIvan Magalhaes UNQUALIFIED
Chavez S FlosiAustraliaAnna Fali PROPOSAL
Mayumi S DilliardIndiaXuxue Feng RENEWAL
James V WieserSpainOnyama Limba NEGOTIATION
Morrow Y FigeroaGermanyElwin Sharvill QUALIFIED
Rodrigues W MorascaGermanyAnna Fali NEW
Kaitlin I SchemmerIndiaAsiya Javayant NEW
Mayumi C RoysterUnited KingdomIoni Bowcher NEGOTIATION
Claire P FigeroaItalyBernardo Dominic NEGOTIATION
Maisha L RoysterBrazilBernardo Dominic PROPOSAL
Aika G KuskoGermanyIvan Magalhaes RENEWAL
Silvio G WaycottJapanAsiya Javayant PROPOSAL
Jefferson N StensethIndiaAnna Fali RENEWAL
Aika Z VenereFranceElwin Sharvill NEW
Ashley S KolmetzBrazilAsiya Javayant QUALIFIED
Aruna G AlbaresAustraliaXuxue Feng NEW
Stacey N ChuiSpainOnyama Limba PROPOSAL
Costa O MaletUnited KingdomAsiya Javayant NEGOTIATION
Greenwood K MaletFranceBernardo Dominic NEW
Adams T ChuiItalyXuxue Feng PROPOSAL
Stacey R BologniaCanadaOnyama Limba PROPOSAL
Maria I MorascaUnited KingdomAnna Fali QUALIFIED
Aika J SergiGermanyAnna Fali UNQUALIFIED
Cody O AlbaresItalyIvan Magalhaes NEW
Misaki Y AmigonArgentinaIvan Magalhaes QUALIFIED
Adams N NickaJapanOnyama Limba 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: