{"id":96387,"date":"2020-10-22T11:00:00","date_gmt":"2020-10-22T08:00:00","guid":{"rendered":"https:\/\/examples.javacodegeeks.com\/?p=96387"},"modified":"2020-10-15T17:05:11","modified_gmt":"2020-10-15T14:05:11","slug":"spring-boot-sorting-with-thymeleaf-tutorial","status":"publish","type":"post","link":"https:\/\/examples.javacodegeeks.com\/spring-boot-sorting-with-thymeleaf-tutorial\/","title":{"rendered":"Spring Boot sorting with Thymeleaf Tutorial"},"content":{"rendered":"<p>Welcome, in this tutorial, we will understand the sorting in a spring boot application and for this, we will use <em>thymeleaf<\/em>.<\/p>\n<h2>1. Introduction<\/h2>\n<p>Before going further in this tutorial, we will look at the common terminology such as introduction to Spring Boot, Lombok, Thymeleaf, and Sorting.<\/p>\n<h3>1.1 Spring Boot<\/h3>\n<ul>\n<li><em>Spring boot<\/em> is a module that provides rapid application development feature to the spring framework including <strong>auto-configuration<\/strong>, <strong>standalone-code<\/strong>, and <strong>production-ready<\/strong> code<\/li>\n<li>It creates applications that are packaged as <em>jar<\/em> and are directly started using embedded servlet container (such as Tomcat, Jetty or, Undertow). Thus, no need to deploy the <em>war<\/em> files<\/li>\n<li>It simplifies the maven configuration by providing the starter template and helps to resolve the dependency conflicts. It automatically identifies the required dependencies and imports them into the application<\/li>\n<li>It helps in removing the boilerplate code, extra annotations, and XML configurations<\/li>\n<li>It provides a powerful batch processing and manages the rest endpoints<\/li>\n<li>It provides an efficient <em>jpa-starter library<\/em> to effectively connect the application with the relational databases<\/li>\n<li>It offers a Microservice architecture and cloud configuration that manages all the application related configuration properties in a centralized manner<\/li>\n<\/ul>\n<h3>1.2 Lombok<\/h3>\n<ul>\n<li><em>Lombok<\/em> is nothing but a small library which reduces the amount of boilerplate Java code from the project<\/li>\n<li>Automatically generates the getters and setters for the object by using the Lombok annotations<\/li>\n<li>Hooks in via the Annotation processor API<\/li>\n<li>Raw source code is passed to Lombok for code generation before the Java Compiler continues. Thus, produces properly compiled Java code in conjunction with the Java Compiler<\/li>\n<li>Under the <code>target\/classes<\/code> folder you can view the compiled class files<\/li>\n<li>Can be used with Maven, Gradle IDE, etc.<\/li>\n<\/ul>\n<h4>1.2.1 Lombok features<\/h4>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: center;\">Feature<\/th>\n<th style=\"text-align: center;\">Details<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>val<\/code><\/td>\n<td>Local variables are declared as <code>final<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>var<\/code><\/td>\n<td>Mutable local variables<\/td>\n<\/tr>\n<tr>\n<td><code>@Slf4J<\/code><\/td>\n<td>Creates an SLF4J logger<\/td>\n<\/tr>\n<tr>\n<td><code>@Cleanup<\/code><\/td>\n<td>Will call <code>close()<\/code> on the resource in the <code>finally<\/code> block<\/td>\n<\/tr>\n<tr>\n<td><code>@Getter<\/code><\/td>\n<td>Creates getter methods for all properties<\/td>\n<\/tr>\n<tr>\n<td><code>@Setter<\/code><\/td>\n<td>Creates setter for all non-final properties<\/td>\n<\/tr>\n<tr>\n<td><code>@EqualsAndHashCode<\/code><\/td>\n<td>\n<ul>\n<li>Generates implementations of <code>equals(Object other)<\/code> and <code>hashCode()<\/code><\/li>\n<li>By default will use all non-static, non-transient properties<\/li>\n<li>Can optionally exclude specific properties<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td><code>@ToString<\/code><\/td>\n<td>\n<ul>\n<li>Generates String of class name, and each field separated by commas<\/li>\n<li>Optional parameter to include field names<\/li>\n<li>Optional parameter to include a call to the super <code>toString<\/code> method<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td><code>@NoArgsConstructor<\/code><\/td>\n<td>\n<ul>\n<li>Generates no-args constructor<\/li>\n<li>Will cause compiler error if there are final fields<\/li>\n<li>Can optionally force, which will initialize final fields with 0\/false\/null var &#8211; mutable local variables<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td><code>@RequiredArgsContructor<\/code><\/td>\n<td>\n<ul>\n<li>Generates a constructor for all fields that are <code>final<\/code> or marked <code>@NonNull<\/code><\/li>\n<li>The constructor will throw a <code>NullPointerException<\/code> if any <code>@NonNull<\/code> fields are null val &#8211; local variables are declared <code>final<\/code><\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td><code>@AllArgsConstructor<\/code><\/td>\n<td>\n<ul>\n<li>Generates a constructor for all properties of the class<\/li>\n<li>Any <code>@NotNull<\/code> properties will have null checks<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td><code>@Data<\/code><\/td>\n<td>\n<ul>\n<li>Generates typical boilerplate code for POJOs<\/li>\n<li>Combines &#8211; <code>@Getter<\/code>, <code>@Setter<\/code>, <code>@ToString<\/code>, <code>@EqualsAndHashCode<\/code>, <code>@RequiredArgsConstructor<\/code><\/li>\n<li>No constructor is generated if constructors have been explicitly declared<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td><code>@Builder<\/code><\/td>\n<td>\n<ul>\n<li>Implements the <em>Builder<\/em> pattern for object creation<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td><code>@Value<\/code><\/td>\n<td>\n<ul>\n<li>The immutable variant of <code>@Data<\/code><\/li>\n<li>All fields are made <code>private<\/code> and <code>final<\/code> by default<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>1.3 Thymeleaf<\/h3>\n<ul>\n<li><span style=\"text-decoration: underline;\">Thymeleaf<\/span> is a server-side java template engine for the web applications<\/li>\n<li>It processes the HTML, XML, JS, CSS, and simple text to bring the elegant designing to a web application<\/li>\n<li>To use Thymeleaf, you must define the <code>spring-boot-starter-thymeleaf<\/code> dependency in the <code>pom.xml<\/code> and mention the <code>xmlns:th=\"https:\/\/thymeleaf.org\"<\/code> library in the templates<\/li>\n<\/ul>\n<h3>1.4 Sorting<\/h3>\n<ul>\n<li><span style=\"text-decoration: underline;\">Sorting<\/span> is a process of retrieving the data in the ascending or the descending based on a given field<\/li>\n<li>To perform pagination and sorting in a spring boot application we will use the <code>PagingAndSortingRepository<\/code> interface to provide the additional methods to sort the results either in the ascending or the descending order<\/li>\n<\/ul>\n<h2>2. Spring Boot sorting with Thymeleaf Tutorial<\/h2>\n<p>Here is a systematic guide for implementing this tutorial but before going any further I\u2019m assuming that you are aware of the Spring boot basics.<\/p>\n<h3>2.1 Application Pre-requisite<\/h3>\n<p>To start with this tutorial, we are hoping that you at present have the Lombok plugin installed in the IDE of their favorite choice. If someone needs to go through the Lombok installation on IntelliJ IDE, please watch <a href=\"https:\/\/www.youtube.com\/watch?v=WfyDLiOQmTo\" target=\"_blank\" rel=\"noopener noreferrer\">this<\/a> video. For installation on Eclipse IDE, please watch <a href=\"https:\/\/www.youtube.com\/watch?v=gsFPXkYDb-s\" target=\"_blank\" rel=\"noopener noreferrer\">this<\/a> video.<\/p>\n<h3>2.2 Tools Used and Project Structure<\/h3>\n<p>We are using Eclipse Kepler SR2, JDK 8, and Maven. In case you\u2019re confused about where you should create the corresponding files or folder, let us review the project structure of the spring boot application.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"425\" height=\"450\" src=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2020\/10\/springboot-thymeleaf-pagination-sorting-project-structure-guide-img1.jpg\" alt=\"Spring Boot sorting thymeleaf\" class=\"wp-image-96388\" srcset=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2020\/10\/springboot-thymeleaf-pagination-sorting-project-structure-guide-img1.jpg 425w, https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2020\/10\/springboot-thymeleaf-pagination-sorting-project-structure-guide-img1-283x300.jpg 283w\" sizes=\"(max-width: 425px) 100vw, 425px\" \/><figcaption>Fig. 1: Project structure<\/figcaption><\/figure>\n<\/div>\n<p>Let us start building the application!<\/p>\n<h2>3. Creating a Spring Boot application<\/h2>\n<p>Below are the steps involved in developing the application.<\/p>\n<h3>3.1 Maven Dependency<\/h3>\n<p>Here, we specify the dependency for the Spring Boot, Spring Data JPA, Thymeleaf, H2 database, Faker, and Lombok. Maven will automatically resolve the other dependencies. The <strong>updated<\/strong> file will have the following code.<\/p>\n<p><span style=\"text-decoration: underline;\"><em>pom.xml<\/em><\/span><\/p>\n<div>\n<div id=\"highlighter_963622\" class=\"syntaxhighlighter  xml\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">01<\/div>\n<div class=\"line number2 index1 alt1\">02<\/div>\n<div class=\"line number3 index2 alt2\">03<\/div>\n<div class=\"line number4 index3 alt1\">04<\/div>\n<div class=\"line number5 index4 alt2\">05<\/div>\n<div class=\"line number6 index5 alt1\">06<\/div>\n<div class=\"line number7 index6 alt2\">07<\/div>\n<div class=\"line number8 index7 alt1\">08<\/div>\n<div class=\"line number9 index8 alt2\">09<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<div class=\"line number17 index16 alt2\">17<\/div>\n<div class=\"line number18 index17 alt1\">18<\/div>\n<div class=\"line number19 index18 alt2\">19<\/div>\n<div class=\"line number20 index19 alt1\">20<\/div>\n<div class=\"line number21 index20 alt2\">21<\/div>\n<div class=\"line number22 index21 alt1\">22<\/div>\n<div class=\"line number23 index22 alt2\">23<\/div>\n<div class=\"line number24 index23 alt1\">24<\/div>\n<div class=\"line number25 index24 alt2\">25<\/div>\n<div class=\"line number26 index25 alt1\">26<\/div>\n<div class=\"line number27 index26 alt2\">27<\/div>\n<div class=\"line number28 index27 alt1\">28<\/div>\n<div class=\"line number29 index28 alt2\">29<\/div>\n<div class=\"line number30 index29 alt1\">30<\/div>\n<div class=\"line number31 index30 alt2\">31<\/div>\n<div class=\"line number32 index31 alt1\">32<\/div>\n<div class=\"line number33 index32 alt2\">33<\/div>\n<div class=\"line number34 index33 alt1\">34<\/div>\n<div class=\"line number35 index34 alt2\">35<\/div>\n<div class=\"line number36 index35 alt1\">36<\/div>\n<div class=\"line number37 index36 alt2\">37<\/div>\n<div class=\"line number38 index37 alt1\">38<\/div>\n<div class=\"line number39 index38 alt2\">39<\/div>\n<div class=\"line number40 index39 alt1\">40<\/div>\n<div class=\"line number41 index40 alt2\">41<\/div>\n<div class=\"line number42 index41 alt1\">42<\/div>\n<div class=\"line number43 index42 alt2\">43<\/div>\n<div class=\"line number44 index43 alt1\">44<\/div>\n<div class=\"line number45 index44 alt2\">45<\/div>\n<div class=\"line number46 index45 alt1\">46<\/div>\n<div class=\"line number47 index46 alt2\">47<\/div>\n<div class=\"line number48 index47 alt1\">48<\/div>\n<div class=\"line number49 index48 alt2\">49<\/div>\n<div class=\"line number50 index49 alt1\">50<\/div>\n<div class=\"line number51 index50 alt2\">51<\/div>\n<div class=\"line number52 index51 alt1\">52<\/div>\n<div class=\"line number53 index52 alt2\">53<\/div>\n<div class=\"line number54 index53 alt1\">54<\/div>\n<div class=\"line number55 index54 alt2\">55<\/div>\n<div class=\"line number56 index55 alt1\">56<\/div>\n<div class=\"line number57 index56 alt2\">57<\/div>\n<div class=\"line number58 index57 alt1\">58<\/div>\n<div class=\"line number59 index58 alt2\">59<\/div>\n<div class=\"line number60 index59 alt1\">60<\/div>\n<div class=\"line number61 index60 alt2\">61<\/div>\n<div class=\"line number62 index61 alt1\">62<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"xml plain\">&lt;?<\/code><code class=\"xml keyword\">xml<\/code> <code class=\"xml color1\">version<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"1.0\"<\/code> <code class=\"xml color1\">encoding<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"UTF-8\"<\/code><code class=\"xml plain\">?&gt;<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">project<\/code> <code class=\"xml color1\">xmlns<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"<a href=\"http:\/\/maven.apache.org\/POM\/4.0.0\">http:\/\/maven.apache.org\/POM\/4.0.0<\/a>\"<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml color1\">xmlns:xsi<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"<a href=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\">http:\/\/www.w3.org\/2001\/XMLSchema-instance<\/a>\"<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml color1\">xsi:schemaLocation<\/code><code class=\"xml plain\">=<\/code><code class=\"xml string\">\"<a href=\"http:\/\/maven.apache.org\/POM\/4.0.0\">http:\/\/maven.apache.org\/POM\/4.0.0<\/a> <a href=\"https:\/\/maven.apache.org\/xsd\/maven-4.0.0.xsd\">https:\/\/maven.apache.org\/xsd\/maven-4.0.0.xsd<\/a>\"<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">modelVersion<\/code><code class=\"xml plain\">&gt;4.0.0&lt;\/<\/code><code class=\"xml keyword\">modelVersion<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code>&nbsp;<\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">groupId<\/code><code class=\"xml plain\">&gt;com.springboot.thymeleaf.pagination.sorting&lt;\/<\/code><code class=\"xml keyword\">groupId<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">artifactId<\/code><code class=\"xml plain\">&gt;SpringbootThymeleafPaginationSortingV2&lt;\/<\/code><code class=\"xml keyword\">artifactId<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">version<\/code><code class=\"xml plain\">&gt;0.0.1-SNAPSHOT&lt;\/<\/code><code class=\"xml keyword\">version<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code>&nbsp;<\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">parent<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">groupId<\/code><code class=\"xml plain\">&gt;org.springframework.boot&lt;\/<\/code><code class=\"xml keyword\">groupId<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">artifactId<\/code><code class=\"xml plain\">&gt;spring-boot-starter-parent&lt;\/<\/code><code class=\"xml keyword\">artifactId<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">version<\/code><code class=\"xml plain\">&gt;2.3.4.RELEASE&lt;\/<\/code><code class=\"xml keyword\">version<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;\/<\/code><code class=\"xml keyword\">parent<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number16 index15 alt1\">&nbsp;<\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">properties<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number18 index17 alt1\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">java.version<\/code><code class=\"xml plain\">&gt;1.8&lt;\/<\/code><code class=\"xml keyword\">java.version<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number19 index18 alt2\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;\/<\/code><code class=\"xml keyword\">properties<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number20 index19 alt1\">&nbsp;<\/div>\n<div class=\"line number21 index20 alt2\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">dependencies<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number22 index21 alt1\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">dependency<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number23 index22 alt2\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">groupId<\/code><code class=\"xml plain\">&gt;org.springframework.boot&lt;\/<\/code><code class=\"xml keyword\">groupId<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number24 index23 alt1\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">artifactId<\/code><code class=\"xml plain\">&gt;spring-boot-starter-web&lt;\/<\/code><code class=\"xml keyword\">artifactId<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number25 index24 alt2\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;\/<\/code><code class=\"xml keyword\">dependency<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number26 index25 alt1\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">dependency<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number27 index26 alt2\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">groupId<\/code><code class=\"xml plain\">&gt;org.springframework.boot&lt;\/<\/code><code class=\"xml keyword\">groupId<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number28 index27 alt1\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">artifactId<\/code><code class=\"xml plain\">&gt;spring-boot-starter-data-jpa&lt;\/<\/code><code class=\"xml keyword\">artifactId<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number29 index28 alt2\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;\/<\/code><code class=\"xml keyword\">dependency<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number30 index29 alt1\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">dependency<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number31 index30 alt2\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">groupId<\/code><code class=\"xml plain\">&gt;org.springframework.boot&lt;\/<\/code><code class=\"xml keyword\">groupId<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number32 index31 alt1\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">artifactId<\/code><code class=\"xml plain\">&gt;spring-boot-starter-thymeleaf&lt;\/<\/code><code class=\"xml keyword\">artifactId<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number33 index32 alt2\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;\/<\/code><code class=\"xml keyword\">dependency<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number34 index33 alt1\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml comments\">&lt;!-- embedded database (h2) dependency. --&gt;<\/code><\/div>\n<div class=\"line number35 index34 alt2\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">dependency<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number36 index35 alt1\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">groupId<\/code><code class=\"xml plain\">&gt;com.h2database&lt;\/<\/code><code class=\"xml keyword\">groupId<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number37 index36 alt2\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">artifactId<\/code><code class=\"xml plain\">&gt;h2&lt;\/<\/code><code class=\"xml keyword\">artifactId<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number38 index37 alt1\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">scope<\/code><code class=\"xml plain\">&gt;runtime&lt;\/<\/code><code class=\"xml keyword\">scope<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number39 index38 alt2\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;\/<\/code><code class=\"xml keyword\">dependency<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number40 index39 alt1\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml comments\">&lt;!-- lombok dependency. --&gt;<\/code><\/div>\n<div class=\"line number41 index40 alt2\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">dependency<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number42 index41 alt1\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">groupId<\/code><code class=\"xml plain\">&gt;org.projectlombok&lt;\/<\/code><code class=\"xml keyword\">groupId<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number43 index42 alt2\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">artifactId<\/code><code class=\"xml plain\">&gt;lombok&lt;\/<\/code><code class=\"xml keyword\">artifactId<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number44 index43 alt1\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">scope<\/code><code class=\"xml plain\">&gt;provided&lt;\/<\/code><code class=\"xml keyword\">scope<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number45 index44 alt2\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;\/<\/code><code class=\"xml keyword\">dependency<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number46 index45 alt1\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml comments\">&lt;!-- faker dependency to generate some random data. --&gt;<\/code><\/div>\n<div class=\"line number47 index46 alt2\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">dependency<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number48 index47 alt1\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">groupId<\/code><code class=\"xml plain\">&gt;com.github.javafaker&lt;\/<\/code><code class=\"xml keyword\">groupId<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number49 index48 alt2\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">artifactId<\/code><code class=\"xml plain\">&gt;javafaker&lt;\/<\/code><code class=\"xml keyword\">artifactId<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number50 index49 alt1\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">version<\/code><code class=\"xml plain\">&gt;1.0.2&lt;\/<\/code><code class=\"xml keyword\">version<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number51 index50 alt2\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;\/<\/code><code class=\"xml keyword\">dependency<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number52 index51 alt1\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;\/<\/code><code class=\"xml keyword\">dependencies<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number53 index52 alt2\">&nbsp;<\/div>\n<div class=\"line number54 index53 alt1\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">build<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number55 index54 alt2\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">plugins<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number56 index55 alt1\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">plugin<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number57 index56 alt2\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">groupId<\/code><code class=\"xml plain\">&gt;org.springframework.boot&lt;\/<\/code><code class=\"xml keyword\">groupId<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number58 index57 alt1\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;<\/code><code class=\"xml keyword\">artifactId<\/code><code class=\"xml plain\">&gt;spring-boot-maven-plugin&lt;\/<\/code><code class=\"xml keyword\">artifactId<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number59 index58 alt2\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;\/<\/code><code class=\"xml keyword\">plugin<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number60 index59 alt1\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;\/<\/code><code class=\"xml keyword\">plugins<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number61 index60 alt2\"><code class=\"xml spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"xml plain\">&lt;\/<\/code><code class=\"xml keyword\">build<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<div class=\"line number62 index61 alt1\"><code class=\"xml plain\">&lt;\/<\/code><code class=\"xml keyword\">project<\/code><code class=\"xml plain\">&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h3>3.2 Application Properties<\/h3>\n<p>Create a new properties file at the location: <code>SpringbootThymeleafPaginationSortingV2\/src\/main\/resources\/<\/code> and add the following code to it.<\/p>\n<p><span style=\"text-decoration: underline;\"><em>application.properties<\/em><\/span><\/p>\n<div>\n<div id=\"highlighter_935628\" class=\"syntaxhighlighter  plain\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">01<\/div>\n<div class=\"line number2 index1 alt1\">02<\/div>\n<div class=\"line number3 index2 alt2\">03<\/div>\n<div class=\"line number4 index3 alt1\">04<\/div>\n<div class=\"line number5 index4 alt2\">05<\/div>\n<div class=\"line number6 index5 alt1\">06<\/div>\n<div class=\"line number7 index6 alt2\">07<\/div>\n<div class=\"line number8 index7 alt1\">08<\/div>\n<div class=\"line number9 index8 alt2\">09<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<div class=\"line number17 index16 alt2\">17<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"plain plain\">server.port=10092<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"plain plain\">spring.application.name=springboot-thymeleaf-pagination-and-sorting<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"plain plain\"># h2 database settings<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"plain plain\">spring.datasource.username=sa<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"plain plain\">spring.datasource.password=<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"plain plain\">spring.datasource.url=jdbc:h2:mem:testdb<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"plain plain\">spring.datasource.driverClassName=org.h2.Driver<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"plain plain\"># logging<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"plain plain\">spring.jpa.database-platform=org.hibernate.dialect.H2Dialect<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"plain plain\">spring.jpa.hibernate.ddl-auto=create-drop<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"plain plain\">spring.jpa.properties.hibernate.show_sql=true<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"plain plain\"># details sql monitoring<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"plain plain\"># logging.level.org.hibernate.SQL=DEBUG<\/code><\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"plain plain\"># logging.level.org.hibernate.type=TRACE<\/code><\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"plain plain\">## browser url for h2 console - <a href=\"http:\/\/localhost:10092\/h2-console\">http:\/\/localhost:10092\/h2-console<\/a><\/code><\/div>\n<div class=\"line number16 index15 alt1\"><code class=\"plain plain\">spring.h2.console.enabled=true<\/code><\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"plain plain\">spring.h2.console.path=\/h2-console<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h3>3.3 Java Classes<\/h3>\n<p>Let us write all the java classes involved in this application.<\/p>\n<h4>3.3.1 Implementation\/Main class<\/h4>\n<p>Add the following code to the main class to bootstrap the application from the main method. Always remember, the entry point of the spring boot application is the class containing <code>@SpringBootApplication<\/code> annotation and the static main method.<\/p>\n<p><span style=\"text-decoration: underline;\"><em>SpringbootThymeleafPaginationSorting.java<\/em><\/span><\/p>\n<div>\n<div id=\"highlighter_187128\" class=\"syntaxhighlighter  java\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">01<\/div>\n<div class=\"line number2 index1 alt1\">02<\/div>\n<div class=\"line number3 index2 alt2\">03<\/div>\n<div class=\"line number4 index3 alt1\">04<\/div>\n<div class=\"line number5 index4 alt2\">05<\/div>\n<div class=\"line number6 index5 alt1\">06<\/div>\n<div class=\"line number7 index6 alt2\">07<\/div>\n<div class=\"line number8 index7 alt1\">08<\/div>\n<div class=\"line number9 index8 alt2\">09<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<div class=\"line number17 index16 alt2\">17<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"java keyword\">package<\/code> <code class=\"java plain\">com.springboot.thymeleaf.pagination.sorting;<\/code><\/div>\n<div class=\"line number2 index1 alt1\">&nbsp;<\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">lombok.extern.slf4j.Slf4j;<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">org.springframework.boot.SpringApplication;<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">org.springframework.boot.autoconfigure.SpringBootApplication;<\/code><\/div>\n<div class=\"line number6 index5 alt1\">&nbsp;<\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"java comments\">\/\/Causes Lombok to generate a logger field.<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"java color1\">@Slf4j<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"java comments\">\/\/Serves two purposes i.e. configuration and bootstrapping.<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"java color1\">@SpringBootApplication<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">class<\/code> <code class=\"java plain\">SpringbootThymeleafPaginationSorting {<\/code><\/div>\n<div class=\"line number12 index11 alt1\">&nbsp;<\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">static<\/code> <code class=\"java keyword\">void<\/code> <code class=\"java plain\">main(String[] args) {<\/code><\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">SpringApplication.run(SpringbootThymeleafPaginationSorting.<\/code><code class=\"java keyword\">class<\/code><code class=\"java plain\">, args);<\/code><\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">log.info(<\/code><code class=\"java string\">\"Springboot pagination and sorting with thymeleaf application is started successfully.\"<\/code><code class=\"java plain\">);<\/code><\/div>\n<div class=\"line number16 index15 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"java plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>3.3.2 Model class<\/h4>\n<p>Add the following code to the <code>Employee<\/code> model class.<\/p>\n<p><span style=\"text-decoration: underline;\"><em>Employee.java<\/em><\/span><\/p>\n<div>\n<div id=\"highlighter_522722\" class=\"syntaxhighlighter  java\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">01<\/div>\n<div class=\"line number2 index1 alt1\">02<\/div>\n<div class=\"line number3 index2 alt2\">03<\/div>\n<div class=\"line number4 index3 alt1\">04<\/div>\n<div class=\"line number5 index4 alt2\">05<\/div>\n<div class=\"line number6 index5 alt1\">06<\/div>\n<div class=\"line number7 index6 alt2\">07<\/div>\n<div class=\"line number8 index7 alt1\">08<\/div>\n<div class=\"line number9 index8 alt2\">09<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<div class=\"line number17 index16 alt2\">17<\/div>\n<div class=\"line number18 index17 alt1\">18<\/div>\n<div class=\"line number19 index18 alt2\">19<\/div>\n<div class=\"line number20 index19 alt1\">20<\/div>\n<div class=\"line number21 index20 alt2\">21<\/div>\n<div class=\"line number22 index21 alt1\">22<\/div>\n<div class=\"line number23 index22 alt2\">23<\/div>\n<div class=\"line number24 index23 alt1\">24<\/div>\n<div class=\"line number25 index24 alt2\">25<\/div>\n<div class=\"line number26 index25 alt1\">26<\/div>\n<div class=\"line number27 index26 alt2\">27<\/div>\n<div class=\"line number28 index27 alt1\">28<\/div>\n<div class=\"line number29 index28 alt2\">29<\/div>\n<div class=\"line number30 index29 alt1\">30<\/div>\n<div class=\"line number31 index30 alt2\">31<\/div>\n<div class=\"line number32 index31 alt1\">32<\/div>\n<div class=\"line number33 index32 alt2\">33<\/div>\n<div class=\"line number34 index33 alt1\">34<\/div>\n<div class=\"line number35 index34 alt2\">35<\/div>\n<div class=\"line number36 index35 alt1\">36<\/div>\n<div class=\"line number37 index36 alt2\">37<\/div>\n<div class=\"line number38 index37 alt1\">38<\/div>\n<div class=\"line number39 index38 alt2\">39<\/div>\n<div class=\"line number40 index39 alt1\">40<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"java keyword\">package<\/code> <code class=\"java plain\">com.springboot.thymeleaf.pagination.sorting.model;<\/code><\/div>\n<div class=\"line number2 index1 alt1\">&nbsp;<\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">lombok.AllArgsConstructor;<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">lombok.Builder;<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">lombok.Data;<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">lombok.NoArgsConstructor;<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">org.springframework.stereotype.Component;<\/code><\/div>\n<div class=\"line number8 index7 alt1\">&nbsp;<\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">javax.persistence.*;<\/code><\/div>\n<div class=\"line number10 index9 alt1\">&nbsp;<\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"java color1\">@Entity<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"java color1\">@Table<\/code><code class=\"java plain\">(name = <\/code><code class=\"java string\">\"employees\"<\/code><code class=\"java plain\">)<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"java comments\">\/\/ Causes Lombok to generate toString(), equals(), hashCode(), getter() &amp; setter(), and Required arguments constructor in one go.<\/code><\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"java color1\">@Data<\/code><\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"java comments\">\/\/ Causes Lombok to implement the Builder design pattern for the POJO class.<\/code><\/div>\n<div class=\"line number16 index15 alt1\"><code class=\"java comments\">\/\/ Usage can be seen in DefaultEmployeesLoader.java -&gt; createNewEmployee() method.<\/code><\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"java color1\">@Builder<\/code><\/div>\n<div class=\"line number18 index17 alt1\"><code class=\"java comments\">\/\/ Causes Lombok to generate a constructor with no parameters.<\/code><\/div>\n<div class=\"line number19 index18 alt2\"><code class=\"java color1\">@NoArgsConstructor<\/code><\/div>\n<div class=\"line number20 index19 alt1\"><code class=\"java comments\">\/\/ Causes Lombok to generate a constructor with 1 parameter for each field in your class.<\/code><\/div>\n<div class=\"line number21 index20 alt2\"><code class=\"java color1\">@AllArgsConstructor<\/code><\/div>\n<div class=\"line number22 index21 alt1\"><code class=\"java color1\">@Component<\/code><\/div>\n<div class=\"line number23 index22 alt2\"><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">class<\/code> <code class=\"java plain\">Employee {<\/code><\/div>\n<div class=\"line number24 index23 alt1\">&nbsp;<\/div>\n<div class=\"line number25 index24 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java color1\">@Id<\/code><\/div>\n<div class=\"line number26 index25 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java color1\">@GeneratedValue<\/code><code class=\"java plain\">(strategy = GenerationType.AUTO)<\/code><\/div>\n<div class=\"line number27 index26 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java keyword\">long<\/code> <code class=\"java plain\">id;<\/code><\/div>\n<div class=\"line number28 index27 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java color1\">@Column<\/code><code class=\"java plain\">(name = <\/code><code class=\"java string\">\"first_name\"<\/code><code class=\"java plain\">, nullable = <\/code><code class=\"java keyword\">false<\/code><code class=\"java plain\">)<\/code><\/div>\n<div class=\"line number29 index28 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">String firstName;<\/code><\/div>\n<div class=\"line number30 index29 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java color1\">@Column<\/code><code class=\"java plain\">(name = <\/code><code class=\"java string\">\"last_name\"<\/code><code class=\"java plain\">, nullable = <\/code><code class=\"java keyword\">false<\/code><code class=\"java plain\">)<\/code><\/div>\n<div class=\"line number31 index30 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">String lastName;<\/code><\/div>\n<div class=\"line number32 index31 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java color1\">@Column<\/code><code class=\"java plain\">(name = <\/code><code class=\"java string\">\"gender\"<\/code><code class=\"java plain\">)<\/code><\/div>\n<div class=\"line number33 index32 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">String gender;<\/code><\/div>\n<div class=\"line number34 index33 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java color1\">@Column<\/code><code class=\"java plain\">(name = <\/code><code class=\"java string\">\"email\"<\/code><code class=\"java plain\">, nullable = <\/code><code class=\"java keyword\">false<\/code><code class=\"java plain\">)<\/code><\/div>\n<div class=\"line number35 index34 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">String email;<\/code><\/div>\n<div class=\"line number36 index35 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java color1\">@Column<\/code><code class=\"java plain\">(name = <\/code><code class=\"java string\">\"phone_number\"<\/code><code class=\"java plain\">, unique = <\/code><code class=\"java keyword\">true<\/code><code class=\"java plain\">)<\/code><\/div>\n<div class=\"line number37 index36 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">String phoneNumber;<\/code><\/div>\n<div class=\"line number38 index37 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java color1\">@Column<\/code><code class=\"java plain\">(name = <\/code><code class=\"java string\">\"home_address\"<\/code><code class=\"java plain\">)<\/code><\/div>\n<div class=\"line number39 index38 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">String homeAddress;<\/code><\/div>\n<div class=\"line number40 index39 alt1\"><code class=\"java plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>3.3.3 Configuration class<\/h4>\n<p>Add the following code to the bean class that will return the bean object for the <code>faker<\/code> object. The usage of this object can be seen in the <code>DefaultEmployeesLoader.java<\/code> class which is used to load the dummy data into the database on the application startup.<div style=\"display:inline-block; margin: 15px 0;\"> <div id=\"adngin-JavaCodeGeeks_incontent_video-0\" style=\"display:inline-block;\"><\/div> <\/div><\/p>\n<p><span style=\"text-decoration: underline;\"><em>BeanConfiguration.java<\/em><\/span><\/p>\n<div>\n<div id=\"highlighter_676712\" class=\"syntaxhighlighter  java\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">01<\/div>\n<div class=\"line number2 index1 alt1\">02<\/div>\n<div class=\"line number3 index2 alt2\">03<\/div>\n<div class=\"line number4 index3 alt1\">04<\/div>\n<div class=\"line number5 index4 alt2\">05<\/div>\n<div class=\"line number6 index5 alt1\">06<\/div>\n<div class=\"line number7 index6 alt2\">07<\/div>\n<div class=\"line number8 index7 alt1\">08<\/div>\n<div class=\"line number9 index8 alt2\">09<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"java keyword\">package<\/code> <code class=\"java plain\">com.springboot.thymeleaf.pagination.sorting.configuration;<\/code><\/div>\n<div class=\"line number2 index1 alt1\">&nbsp;<\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">com.github.javafaker.Faker;<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">org.springframework.context.annotation.Bean;<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">org.springframework.context.annotation.Configuration;<\/code><\/div>\n<div class=\"line number6 index5 alt1\">&nbsp;<\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">java.util.Locale;<\/code><\/div>\n<div class=\"line number8 index7 alt1\">&nbsp;<\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"java color1\">@Configuration<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">class<\/code> <code class=\"java plain\">BeanConfiguration {<\/code><\/div>\n<div class=\"line number11 index10 alt2\">&nbsp;<\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java color1\">@Bean<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java keyword\">public<\/code> <code class=\"java plain\">Faker faker() {<\/code><\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java keyword\">return<\/code> <code class=\"java keyword\">new<\/code> <code class=\"java plain\">Faker(<\/code><code class=\"java keyword\">new<\/code> <code class=\"java plain\">Locale(<\/code><code class=\"java string\">\"en-US\"<\/code><code class=\"java plain\">));<\/code><\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number16 index15 alt1\"><code class=\"java plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>3.3.4 Data-Access-Object interface<\/h4>\n<p>Add the following code to the interface that extends the <code>PagingAndSortingRepository<\/code> interface.<\/p>\n<p><span style=\"text-decoration: underline;\"><em>EmployeeRepository.java<\/em><\/span><\/p>\n<div>\n<div id=\"highlighter_259972\" class=\"syntaxhighlighter  java\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">01<\/div>\n<div class=\"line number2 index1 alt1\">02<\/div>\n<div class=\"line number3 index2 alt2\">03<\/div>\n<div class=\"line number4 index3 alt1\">04<\/div>\n<div class=\"line number5 index4 alt2\">05<\/div>\n<div class=\"line number6 index5 alt1\">06<\/div>\n<div class=\"line number7 index6 alt2\">07<\/div>\n<div class=\"line number8 index7 alt1\">08<\/div>\n<div class=\"line number9 index8 alt2\">09<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"java keyword\">package<\/code> <code class=\"java plain\">com.springboot.thymeleaf.pagination.sorting.repository;<\/code><\/div>\n<div class=\"line number2 index1 alt1\">&nbsp;<\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">com.springboot.thymeleaf.pagination.sorting.model.Employee;<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">org.springframework.data.repository.PagingAndSortingRepository;<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">org.springframework.stereotype.Repository;<\/code><\/div>\n<div class=\"line number6 index5 alt1\">&nbsp;<\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"java color1\">@Repository<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">interface<\/code> <code class=\"java plain\">EmployeeRepository <\/code><code class=\"java keyword\">extends<\/code> <code class=\"java plain\">PagingAndSortingRepository&lt;Employee, Long&gt; {<\/code><\/div>\n<div class=\"line number9 index8 alt2\">&nbsp;<\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"java plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>3.3.5 Service class<\/h4>\n<p>Add the following code to the service class where we will call the DAO interface methods to save the data into the database and also fetch the data from the database.<\/p>\n<p><span style=\"text-decoration: underline;\"><em>EmployeeService.java<\/em><\/span><\/p>\n<div>\n<div id=\"highlighter_478373\" class=\"syntaxhighlighter  java\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">01<\/div>\n<div class=\"line number2 index1 alt1\">02<\/div>\n<div class=\"line number3 index2 alt2\">03<\/div>\n<div class=\"line number4 index3 alt1\">04<\/div>\n<div class=\"line number5 index4 alt2\">05<\/div>\n<div class=\"line number6 index5 alt1\">06<\/div>\n<div class=\"line number7 index6 alt2\">07<\/div>\n<div class=\"line number8 index7 alt1\">08<\/div>\n<div class=\"line number9 index8 alt2\">09<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<div class=\"line number17 index16 alt2\">17<\/div>\n<div class=\"line number18 index17 alt1\">18<\/div>\n<div class=\"line number19 index18 alt2\">19<\/div>\n<div class=\"line number20 index19 alt1\">20<\/div>\n<div class=\"line number21 index20 alt2\">21<\/div>\n<div class=\"line number22 index21 alt1\">22<\/div>\n<div class=\"line number23 index22 alt2\">23<\/div>\n<div class=\"line number24 index23 alt1\">24<\/div>\n<div class=\"line number25 index24 alt2\">25<\/div>\n<div class=\"line number26 index25 alt1\">26<\/div>\n<div class=\"line number27 index26 alt2\">27<\/div>\n<div class=\"line number28 index27 alt1\">28<\/div>\n<div class=\"line number29 index28 alt2\">29<\/div>\n<div class=\"line number30 index29 alt1\">30<\/div>\n<div class=\"line number31 index30 alt2\">31<\/div>\n<div class=\"line number32 index31 alt1\">32<\/div>\n<div class=\"line number33 index32 alt2\">33<\/div>\n<div class=\"line number34 index33 alt1\">34<\/div>\n<div class=\"line number35 index34 alt2\">35<\/div>\n<div class=\"line number36 index35 alt1\">36<\/div>\n<div class=\"line number37 index36 alt2\">37<\/div>\n<div class=\"line number38 index37 alt1\">38<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"java keyword\">package<\/code> <code class=\"java plain\">com.springboot.thymeleaf.pagination.sorting.service;<\/code><\/div>\n<div class=\"line number2 index1 alt1\">&nbsp;<\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">com.springboot.thymeleaf.pagination.sorting.model.Employee;<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">com.springboot.thymeleaf.pagination.sorting.repository.EmployeeRepository;<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">lombok.extern.slf4j.Slf4j;<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">org.springframework.beans.factory.annotation.Autowired;<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">org.springframework.data.domain.Page;<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">org.springframework.data.domain.PageRequest;<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">org.springframework.data.domain.Pageable;<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">org.springframework.data.domain.Sort;<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">org.springframework.stereotype.Service;<\/code><\/div>\n<div class=\"line number12 index11 alt1\">&nbsp;<\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"java comments\">\/\/Causes Lombok to generate a logger field.<\/code><\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"java color1\">@Slf4j<\/code><\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"java color1\">@Service<\/code><\/div>\n<div class=\"line number16 index15 alt1\"><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">class<\/code> <code class=\"java plain\">EmployeeService {<\/code><\/div>\n<div class=\"line number17 index16 alt2\">&nbsp;<\/div>\n<div class=\"line number18 index17 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java color1\">@Autowired<\/code><\/div>\n<div class=\"line number19 index18 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java keyword\">private<\/code> <code class=\"java plain\">EmployeeRepository repository;<\/code><\/div>\n<div class=\"line number20 index19 alt1\">&nbsp;<\/div>\n<div class=\"line number21 index20 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">void<\/code> <code class=\"java plain\">save(<\/code><code class=\"java keyword\">final<\/code> <code class=\"java plain\">Employee employee) {<\/code><\/div>\n<div class=\"line number22 index21 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">repository.save(employee);<\/code><\/div>\n<div class=\"line number23 index22 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number24 index23 alt1\">&nbsp;<\/div>\n<div class=\"line number25 index24 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">long<\/code> <code class=\"java plain\">getTotalEmployees() {<\/code><\/div>\n<div class=\"line number26 index25 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">log.info(<\/code><code class=\"java string\">\"Finding the total count of employees from the dB.\"<\/code><code class=\"java plain\">);<\/code><\/div>\n<div class=\"line number27 index26 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java keyword\">return<\/code> <code class=\"java plain\">repository.count();<\/code><\/div>\n<div class=\"line number28 index27 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number29 index28 alt2\">&nbsp;<\/div>\n<div class=\"line number30 index29 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java keyword\">public<\/code> <code class=\"java plain\">Page&lt;Employee&gt; findPaginated(<\/code><code class=\"java keyword\">final<\/code> <code class=\"java keyword\">int<\/code> <code class=\"java plain\">pageNumber, <\/code><code class=\"java keyword\">final<\/code> <code class=\"java keyword\">int<\/code> <code class=\"java plain\">pageSize,<\/code><\/div>\n<div class=\"line number31 index30 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java keyword\">final<\/code> <code class=\"java plain\">String sortField, <\/code><code class=\"java keyword\">final<\/code> <code class=\"java plain\">String sortDirection) {<\/code><\/div>\n<div class=\"line number32 index31 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">log.info(<\/code><code class=\"java string\">\"Fetching the paginated employees from the dB.\"<\/code><code class=\"java plain\">);<\/code><\/div>\n<div class=\"line number33 index32 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java keyword\">final<\/code> <code class=\"java plain\">Sort sort = sortDirection.equalsIgnoreCase(Sort.Direction.ASC.name()) ?<\/code><\/div>\n<div class=\"line number34 index33 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">Sort.by(sortField).ascending() : Sort.by(sortField).descending();<\/code><\/div>\n<div class=\"line number35 index34 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java keyword\">final<\/code> <code class=\"java plain\">Pageable pageable = PageRequest.of(pageNumber - <\/code><code class=\"java value\">1<\/code><code class=\"java plain\">, pageSize, sort);<\/code><\/div>\n<div class=\"line number36 index35 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java keyword\">return<\/code> <code class=\"java plain\">repository.findAll(pageable);<\/code><\/div>\n<div class=\"line number37 index36 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number38 index37 alt1\"><code class=\"java plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>3.3.6 Bootstrap class<\/h4>\n<p>Add the following code to the bootstrap class to save the dummy data into the database on the application startup. This data will be saved in the H2 database.<\/p>\n<p><span style=\"text-decoration: underline;\"><em>DefaultEmployeesLoader.java<\/em><\/span><\/p>\n<div>\n<div id=\"highlighter_578169\" class=\"syntaxhighlighter  java\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">01<\/div>\n<div class=\"line number2 index1 alt1\">02<\/div>\n<div class=\"line number3 index2 alt2\">03<\/div>\n<div class=\"line number4 index3 alt1\">04<\/div>\n<div class=\"line number5 index4 alt2\">05<\/div>\n<div class=\"line number6 index5 alt1\">06<\/div>\n<div class=\"line number7 index6 alt2\">07<\/div>\n<div class=\"line number8 index7 alt1\">08<\/div>\n<div class=\"line number9 index8 alt2\">09<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<div class=\"line number17 index16 alt2\">17<\/div>\n<div class=\"line number18 index17 alt1\">18<\/div>\n<div class=\"line number19 index18 alt2\">19<\/div>\n<div class=\"line number20 index19 alt1\">20<\/div>\n<div class=\"line number21 index20 alt2\">21<\/div>\n<div class=\"line number22 index21 alt1\">22<\/div>\n<div class=\"line number23 index22 alt2\">23<\/div>\n<div class=\"line number24 index23 alt1\">24<\/div>\n<div class=\"line number25 index24 alt2\">25<\/div>\n<div class=\"line number26 index25 alt1\">26<\/div>\n<div class=\"line number27 index26 alt2\">27<\/div>\n<div class=\"line number28 index27 alt1\">28<\/div>\n<div class=\"line number29 index28 alt2\">29<\/div>\n<div class=\"line number30 index29 alt1\">30<\/div>\n<div class=\"line number31 index30 alt2\">31<\/div>\n<div class=\"line number32 index31 alt1\">32<\/div>\n<div class=\"line number33 index32 alt2\">33<\/div>\n<div class=\"line number34 index33 alt1\">34<\/div>\n<div class=\"line number35 index34 alt2\">35<\/div>\n<div class=\"line number36 index35 alt1\">36<\/div>\n<div class=\"line number37 index36 alt2\">37<\/div>\n<div class=\"line number38 index37 alt1\">38<\/div>\n<div class=\"line number39 index38 alt2\">39<\/div>\n<div class=\"line number40 index39 alt1\">40<\/div>\n<div class=\"line number41 index40 alt2\">41<\/div>\n<div class=\"line number42 index41 alt1\">42<\/div>\n<div class=\"line number43 index42 alt2\">43<\/div>\n<div class=\"line number44 index43 alt1\">44<\/div>\n<div class=\"line number45 index44 alt2\">45<\/div>\n<div class=\"line number46 index45 alt1\">46<\/div>\n<div class=\"line number47 index46 alt2\">47<\/div>\n<div class=\"line number48 index47 alt1\">48<\/div>\n<div class=\"line number49 index48 alt2\">49<\/div>\n<div class=\"line number50 index49 alt1\">50<\/div>\n<div class=\"line number51 index50 alt2\">51<\/div>\n<div class=\"line number52 index51 alt1\">52<\/div>\n<div class=\"line number53 index52 alt2\">53<\/div>\n<div class=\"line number54 index53 alt1\">54<\/div>\n<div class=\"line number55 index54 alt2\">55<\/div>\n<div class=\"line number56 index55 alt1\">56<\/div>\n<div class=\"line number57 index56 alt2\">57<\/div>\n<div class=\"line number58 index57 alt1\">58<\/div>\n<div class=\"line number59 index58 alt2\">59<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"java keyword\">package<\/code> <code class=\"java plain\">com.springboot.thymeleaf.pagination.sorting.bootstrap;<\/code><\/div>\n<div class=\"line number2 index1 alt1\">&nbsp;<\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">com.github.javafaker.Faker;<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">com.springboot.thymeleaf.pagination.sorting.model.Employee;<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">com.springboot.thymeleaf.pagination.sorting.service.EmployeeService;<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">lombok.RequiredArgsConstructor;<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">lombok.extern.slf4j.Slf4j;<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">org.springframework.boot.CommandLineRunner;<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">org.springframework.stereotype.Component;<\/code><\/div>\n<div class=\"line number10 index9 alt1\">&nbsp;<\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">java.util.Random;<\/code><\/div>\n<div class=\"line number12 index11 alt1\">&nbsp;<\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"java comments\">\/\/ Causes Lombok to generate a logger field.<\/code><\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"java color1\">@Slf4j<\/code><\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"java comments\">\/\/ Causes Lombok to generate a constructor with 1 parameter for each field that requires special handling.<\/code><\/div>\n<div class=\"line number16 index15 alt1\"><code class=\"java color1\">@RequiredArgsConstructor<\/code><\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"java color1\">@Component<\/code><\/div>\n<div class=\"line number18 index17 alt1\"><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">class<\/code> <code class=\"java plain\">DefaultEmployeesLoader <\/code><code class=\"java keyword\">implements<\/code> <code class=\"java plain\">CommandLineRunner {<\/code><\/div>\n<div class=\"line number19 index18 alt2\">&nbsp;<\/div>\n<div class=\"line number20 index19 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java keyword\">private<\/code> <code class=\"java keyword\">static<\/code> <code class=\"java keyword\">final<\/code> <code class=\"java plain\">String[] GENDER = {<\/code><code class=\"java string\">\"Male\"<\/code><code class=\"java plain\">, <\/code><code class=\"java string\">\"Female\"<\/code><code class=\"java plain\">, <\/code><code class=\"java string\">\"Transgender\"<\/code><code class=\"java plain\">, <\/code><code class=\"java string\">\"Not to specify\"<\/code><code class=\"java plain\">};<\/code><\/div>\n<div class=\"line number21 index20 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java keyword\">private<\/code> <code class=\"java keyword\">static<\/code> <code class=\"java keyword\">final<\/code> <code class=\"java plain\">Random RANDOM = <\/code><code class=\"java keyword\">new<\/code> <code class=\"java plain\">Random();<\/code><\/div>\n<div class=\"line number22 index21 alt1\">&nbsp;<\/div>\n<div class=\"line number23 index22 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java keyword\">private<\/code> <code class=\"java keyword\">final<\/code> <code class=\"java plain\">EmployeeService service;<\/code><\/div>\n<div class=\"line number24 index23 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java keyword\">private<\/code> <code class=\"java keyword\">final<\/code> <code class=\"java plain\">Faker faker;<\/code><\/div>\n<div class=\"line number25 index24 alt2\">&nbsp;<\/div>\n<div class=\"line number26 index25 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java color1\">@Override<\/code><\/div>\n<div class=\"line number27 index26 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">void<\/code> <code class=\"java plain\">run(String... args) <\/code><code class=\"java keyword\">throws<\/code> <code class=\"java plain\">Exception {<\/code><\/div>\n<div class=\"line number28 index27 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">loadEmployees();<\/code><\/div>\n<div class=\"line number29 index28 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number30 index29 alt1\">&nbsp;<\/div>\n<div class=\"line number31 index30 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java keyword\">private<\/code> <code class=\"java keyword\">void<\/code> <code class=\"java plain\">loadEmployees() {<\/code><\/div>\n<div class=\"line number32 index31 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java keyword\">int<\/code> <code class=\"java plain\">count = <\/code><code class=\"java value\">0<\/code><code class=\"java plain\">;<\/code><\/div>\n<div class=\"line number33 index32 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java keyword\">if<\/code> <code class=\"java plain\">(service.getTotalEmployees() == <\/code><code class=\"java value\">0<\/code><code class=\"java plain\">) {<\/code><\/div>\n<div class=\"line number34 index33 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java keyword\">for<\/code> <code class=\"java plain\">(<\/code><code class=\"java keyword\">int<\/code> <code class=\"java plain\">x = <\/code><code class=\"java value\">0<\/code><code class=\"java plain\">; x &lt; <\/code><code class=\"java value\">100<\/code><code class=\"java plain\">; x++) {<\/code><\/div>\n<div class=\"line number35 index34 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">count = count + <\/code><code class=\"java value\">1<\/code><code class=\"java plain\">;<\/code><\/div>\n<div class=\"line number36 index35 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">service.save(createNewEmployee());<\/code><\/div>\n<div class=\"line number37 index36 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number38 index37 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">log.info(<\/code><code class=\"java string\">\"Total {} employees are saved in the database.\"<\/code><code class=\"java plain\">, count);<\/code><\/div>\n<div class=\"line number39 index38 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">} <\/code><code class=\"java keyword\">else<\/code> <code class=\"java plain\">{<\/code><\/div>\n<div class=\"line number40 index39 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">log.info(<\/code><code class=\"java string\">\"Default employees are already present in the database.\"<\/code><code class=\"java plain\">);<\/code><\/div>\n<div class=\"line number41 index40 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number42 index41 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number43 index42 alt2\">&nbsp;<\/div>\n<div class=\"line number44 index43 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java keyword\">private<\/code> <code class=\"java plain\">Employee createNewEmployee() {<\/code><\/div>\n<div class=\"line number45 index44 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java keyword\">final<\/code> <code class=\"java plain\">String firstName = faker.name().firstName();<\/code><\/div>\n<div class=\"line number46 index45 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java keyword\">final<\/code> <code class=\"java plain\">String lastName = faker.name().lastName();<\/code><\/div>\n<div class=\"line number47 index46 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java keyword\">final<\/code> <code class=\"java plain\">String gender = GENDER[RANDOM.nextInt(GENDER.length)];<\/code><\/div>\n<div class=\"line number48 index47 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java keyword\">final<\/code> <code class=\"java plain\">String emailAddress = firstName.toLowerCase() + <\/code><code class=\"java string\">\".\"<\/code> <code class=\"java plain\">+ lastName.toLowerCase() + <\/code><code class=\"java string\">\"@somecompany.com\"<\/code><code class=\"java plain\">;<\/code><\/div>\n<div class=\"line number49 index48 alt2\">&nbsp;<\/div>\n<div class=\"line number50 index49 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java keyword\">return<\/code> <code class=\"java plain\">Employee.builder()<\/code><\/div>\n<div class=\"line number51 index50 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">.firstName(firstName)<\/code><\/div>\n<div class=\"line number52 index51 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">.lastName(lastName)<\/code><\/div>\n<div class=\"line number53 index52 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">.gender(gender)<\/code><\/div>\n<div class=\"line number54 index53 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">.email(emailAddress)<\/code><\/div>\n<div class=\"line number55 index54 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">.phoneNumber(faker.phoneNumber().cellPhone())<\/code><\/div>\n<div class=\"line number56 index55 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">.homeAddress(faker.address().fullAddress())<\/code><\/div>\n<div class=\"line number57 index56 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">.build();<\/code><\/div>\n<div class=\"line number58 index57 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number59 index58 alt2\"><code class=\"java plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>3.3.7 Index Controller class<\/h4>\n<p>Add the following code to the controller class designed to handle the incoming requests. The class is annotated with the <code>@Controller<\/code> annotation were the <code>HTTP GET<\/code> method would return the <code>index<\/code> page of the application.<\/p>\n<p><span style=\"text-decoration: underline;\"><em>EmployeeController.java<\/em><\/span><\/p>\n<div>\n<div id=\"highlighter_248115\" class=\"syntaxhighlighter  java\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">01<\/div>\n<div class=\"line number2 index1 alt1\">02<\/div>\n<div class=\"line number3 index2 alt2\">03<\/div>\n<div class=\"line number4 index3 alt1\">04<\/div>\n<div class=\"line number5 index4 alt2\">05<\/div>\n<div class=\"line number6 index5 alt1\">06<\/div>\n<div class=\"line number7 index6 alt2\">07<\/div>\n<div class=\"line number8 index7 alt1\">08<\/div>\n<div class=\"line number9 index8 alt2\">09<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<div class=\"line number17 index16 alt2\">17<\/div>\n<div class=\"line number18 index17 alt1\">18<\/div>\n<div class=\"line number19 index18 alt2\">19<\/div>\n<div class=\"line number20 index19 alt1\">20<\/div>\n<div class=\"line number21 index20 alt2\">21<\/div>\n<div class=\"line number22 index21 alt1\">22<\/div>\n<div class=\"line number23 index22 alt2\">23<\/div>\n<div class=\"line number24 index23 alt1\">24<\/div>\n<div class=\"line number25 index24 alt2\">25<\/div>\n<div class=\"line number26 index25 alt1\">26<\/div>\n<div class=\"line number27 index26 alt2\">27<\/div>\n<div class=\"line number28 index27 alt1\">28<\/div>\n<div class=\"line number29 index28 alt2\">29<\/div>\n<div class=\"line number30 index29 alt1\">30<\/div>\n<div class=\"line number31 index30 alt2\">31<\/div>\n<div class=\"line number32 index31 alt1\">32<\/div>\n<div class=\"line number33 index32 alt2\">33<\/div>\n<div class=\"line number34 index33 alt1\">34<\/div>\n<div class=\"line number35 index34 alt2\">35<\/div>\n<div class=\"line number36 index35 alt1\">36<\/div>\n<div class=\"line number37 index36 alt2\">37<\/div>\n<div class=\"line number38 index37 alt1\">38<\/div>\n<div class=\"line number39 index38 alt2\">39<\/div>\n<div class=\"line number40 index39 alt1\">40<\/div>\n<div class=\"line number41 index40 alt2\">41<\/div>\n<div class=\"line number42 index41 alt1\">42<\/div>\n<div class=\"line number43 index42 alt2\">43<\/div>\n<div class=\"line number44 index43 alt1\">44<\/div>\n<div class=\"line number45 index44 alt2\">45<\/div>\n<div class=\"line number46 index45 alt1\">46<\/div>\n<div class=\"line number47 index46 alt2\">47<\/div>\n<div class=\"line number48 index47 alt1\">48<\/div>\n<div class=\"line number49 index48 alt2\">49<\/div>\n<div class=\"line number50 index49 alt1\">50<\/div>\n<div class=\"line number51 index50 alt2\">51<\/div>\n<div class=\"line number52 index51 alt1\">52<\/div>\n<div class=\"line number53 index52 alt2\">53<\/div>\n<div class=\"line number54 index53 alt1\">54<\/div>\n<div class=\"line number55 index54 alt2\">55<\/div>\n<div class=\"line number56 index55 alt1\">56<\/div>\n<div class=\"line number57 index56 alt2\">57<\/div>\n<div class=\"line number58 index57 alt1\">58<\/div>\n<div class=\"line number59 index58 alt2\">59<\/div>\n<div class=\"line number60 index59 alt1\">60<\/div>\n<div class=\"line number61 index60 alt2\">61<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"java keyword\">package<\/code> <code class=\"java plain\">com.springboot.thymeleaf.pagination.sorting.controller;<\/code><\/div>\n<div class=\"line number2 index1 alt1\">&nbsp;<\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">com.springboot.thymeleaf.pagination.sorting.model.Employee;<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">com.springboot.thymeleaf.pagination.sorting.service.EmployeeService;<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">lombok.extern.slf4j.Slf4j;<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">org.springframework.beans.factory.annotation.Autowired;<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">org.springframework.data.domain.Page;<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">org.springframework.stereotype.Controller;<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">org.springframework.ui.Model;<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">org.springframework.web.bind.annotation.GetMapping;<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">org.springframework.web.bind.annotation.PathVariable;<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">org.springframework.web.bind.annotation.RequestParam;<\/code><\/div>\n<div class=\"line number13 index12 alt2\">&nbsp;<\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"java keyword\">import<\/code> <code class=\"java plain\">java.util.List;<\/code><\/div>\n<div class=\"line number15 index14 alt2\">&nbsp;<\/div>\n<div class=\"line number16 index15 alt1\"><code class=\"java comments\">\/\/Causes Lombok to generate a logger field.<\/code><\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"java color1\">@Slf4j<\/code><\/div>\n<div class=\"line number18 index17 alt1\"><code class=\"java color1\">@Controller<\/code><\/div>\n<div class=\"line number19 index18 alt2\"><code class=\"java keyword\">public<\/code> <code class=\"java keyword\">class<\/code> <code class=\"java plain\">EmployeeController {<\/code><\/div>\n<div class=\"line number20 index19 alt1\">&nbsp;<\/div>\n<div class=\"line number21 index20 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java color1\">@Autowired<\/code><\/div>\n<div class=\"line number22 index21 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java keyword\">private<\/code> <code class=\"java plain\">EmployeeService service;<\/code><\/div>\n<div class=\"line number23 index22 alt2\">&nbsp;<\/div>\n<div class=\"line number24 index23 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java comments\">\/\/ URL - <a href=\"http:\/\/localhost:10092\/\">http:\/\/localhost:10092\/<\/a><\/code><\/div>\n<div class=\"line number25 index24 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java color1\">@GetMapping<\/code><code class=\"java plain\">(value = <\/code><code class=\"java string\">\"\/\"<\/code><code class=\"java plain\">)<\/code><\/div>\n<div class=\"line number26 index25 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java keyword\">public<\/code> <code class=\"java plain\">String viewIndexPage() {<\/code><\/div>\n<div class=\"line number27 index26 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">log.info(<\/code><code class=\"java string\">\"Redirecting the index page to the controller method for fetching the employees in a \"<\/code><\/div>\n<div class=\"line number28 index27 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">+ <\/code><code class=\"java string\">\"paginated fashion.\"<\/code><code class=\"java plain\">);<\/code><\/div>\n<div class=\"line number29 index28 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java comments\">\/\/ During the index page we are using the sort-field as id and sort-dir as asc.<\/code><\/div>\n<div class=\"line number30 index29 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java keyword\">return<\/code> <code class=\"java string\">\"redirect:page\/1?sort-field=id&amp;sort-dir=asc\"<\/code><code class=\"java plain\">;<\/code><\/div>\n<div class=\"line number31 index30 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number32 index31 alt1\">&nbsp;<\/div>\n<div class=\"line number33 index32 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java comments\">\/\/ URL - <a href=\"http:\/\/localhost:10092\/page\/1?sort-field=firstName&amp;sort-dir=desc\">http:\/\/localhost:10092\/page\/1?sort-field=firstName&amp;sort-dir=desc<\/a><\/code><\/div>\n<div class=\"line number34 index33 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java color1\">@GetMapping<\/code><code class=\"java plain\">(value = <\/code><code class=\"java string\">\"\/page\/{page-number}\"<\/code><code class=\"java plain\">)<\/code><\/div>\n<div class=\"line number35 index34 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java keyword\">public<\/code> <code class=\"java plain\">String findPaginated(<\/code><code class=\"java color1\">@PathVariable<\/code><code class=\"java plain\">(name = <\/code><code class=\"java string\">\"page-number\"<\/code><code class=\"java plain\">) <\/code><code class=\"java keyword\">final<\/code> <code class=\"java keyword\">int<\/code> <code class=\"java plain\">pageNo,<\/code><\/div>\n<div class=\"line number36 index35 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java color1\">@RequestParam<\/code><code class=\"java plain\">(name = <\/code><code class=\"java string\">\"sort-field\"<\/code><code class=\"java plain\">) <\/code><code class=\"java keyword\">final<\/code> <code class=\"java plain\">String sortField,<\/code><\/div>\n<div class=\"line number37 index36 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java color1\">@RequestParam<\/code><code class=\"java plain\">(name = <\/code><code class=\"java string\">\"sort-dir\"<\/code><code class=\"java plain\">) <\/code><code class=\"java keyword\">final<\/code> <code class=\"java plain\">String sortDir,<\/code><\/div>\n<div class=\"line number38 index37 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java keyword\">final<\/code> <code class=\"java plain\">Model model) {<\/code><\/div>\n<div class=\"line number39 index38 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">log.info(<\/code><code class=\"java string\">\"Getting the employees in a paginated way for page-number = {}, sort-field = {}, and \"<\/code><\/div>\n<div class=\"line number40 index39 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">+ <\/code><code class=\"java string\">\"sort-direction = {}.\"<\/code><code class=\"java plain\">, pageNo, sortField, sortDir);<\/code><\/div>\n<div class=\"line number41 index40 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java comments\">\/\/ Hardcoding the page-size to 15.<\/code><\/div>\n<div class=\"line number42 index41 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java keyword\">final<\/code> <code class=\"java keyword\">int<\/code> <code class=\"java plain\">pageSize = <\/code><code class=\"java value\">15<\/code><code class=\"java plain\">;<\/code><\/div>\n<div class=\"line number43 index42 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java keyword\">final<\/code> <code class=\"java plain\">Page&lt;Employee&gt; page = service.findPaginated(pageNo, pageSize, sortField, sortDir);<\/code><\/div>\n<div class=\"line number44 index43 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java keyword\">final<\/code> <code class=\"java plain\">List&lt;Employee&gt; listEmployees = page.getContent();<\/code><\/div>\n<div class=\"line number45 index44 alt2\">&nbsp;<\/div>\n<div class=\"line number46 index45 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java comments\">\/\/ Creating the model response.<\/code><\/div>\n<div class=\"line number47 index46 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java comments\">\/\/ Note for simplicity purpose we are not making the use of ResponseDto here.<\/code><\/div>\n<div class=\"line number48 index47 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java comments\">\/\/ In ideal cases the response will be encapsulated in a class.<\/code><\/div>\n<div class=\"line number49 index48 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java comments\">\/\/ pagination parameters<\/code><\/div>\n<div class=\"line number50 index49 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">model.addAttribute(<\/code><code class=\"java string\">\"currentPage\"<\/code><code class=\"java plain\">, pageNo);<\/code><\/div>\n<div class=\"line number51 index50 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">model.addAttribute(<\/code><code class=\"java string\">\"totalPages\"<\/code><code class=\"java plain\">, page.getTotalPages());<\/code><\/div>\n<div class=\"line number52 index51 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">model.addAttribute(<\/code><code class=\"java string\">\"totalItems\"<\/code><code class=\"java plain\">, page.getTotalElements());<\/code><\/div>\n<div class=\"line number53 index52 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java comments\">\/\/ sorting parameters<\/code><\/div>\n<div class=\"line number54 index53 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">model.addAttribute(<\/code><code class=\"java string\">\"sortField\"<\/code><code class=\"java plain\">, sortField);<\/code><\/div>\n<div class=\"line number55 index54 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">model.addAttribute(<\/code><code class=\"java string\">\"sortDir\"<\/code><code class=\"java plain\">, sortDir);<\/code><\/div>\n<div class=\"line number56 index55 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">model.addAttribute(<\/code><code class=\"java string\">\"reverseSortDir\"<\/code><code class=\"java plain\">, sortDir.equals(<\/code><code class=\"java string\">\"asc\"<\/code><code class=\"java plain\">) ? <\/code><code class=\"java string\">\"desc\"<\/code> <code class=\"java plain\">: <\/code><code class=\"java string\">\"asc\"<\/code><code class=\"java plain\">);<\/code><\/div>\n<div class=\"line number57 index56 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java comments\">\/\/ employees<\/code><\/div>\n<div class=\"line number58 index57 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">model.addAttribute(<\/code><code class=\"java string\">\"listEmployees\"<\/code><code class=\"java plain\">, listEmployees);<\/code><\/div>\n<div class=\"line number59 index58 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java keyword\">return<\/code> <code class=\"java string\">\"index\"<\/code><code class=\"java plain\">;<\/code><\/div>\n<div class=\"line number60 index59 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number61 index60 alt2\"><code class=\"java plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h2>4. Thymeleaf Changes<\/h2>\n<p>We will create a simple HTML page that will display the <em>employees<\/em> on the browser in smaller chunks (i.e. the paginated approach) and will support the sorting. Create a new HTML file at the location: <code>SpringbootThymeleafPaginationSortingV2\/src\/main\/resources\/templates\/<\/code> and add the following code to it.<\/p>\n<p><span style=\"text-decoration: underline;\"><em>index.html<\/em><\/span><\/p>\n<div>\n<div id=\"highlighter_493571\" class=\"syntaxhighlighter  html\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">01<\/div>\n<div class=\"line number2 index1 alt1\">02<\/div>\n<div class=\"line number3 index2 alt2\">03<\/div>\n<div class=\"line number4 index3 alt1\">04<\/div>\n<div class=\"line number5 index4 alt2\">05<\/div>\n<div class=\"line number6 index5 alt1\">06<\/div>\n<div class=\"line number7 index6 alt2\">07<\/div>\n<div class=\"line number8 index7 alt1\">08<\/div>\n<div class=\"line number9 index8 alt2\">09<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<div class=\"line number17 index16 alt2\">17<\/div>\n<div class=\"line number18 index17 alt1\">18<\/div>\n<div class=\"line number19 index18 alt2\">19<\/div>\n<div class=\"line number20 index19 alt1\">20<\/div>\n<div class=\"line number21 index20 alt2\">21<\/div>\n<div class=\"line number22 index21 alt1\">22<\/div>\n<div class=\"line number23 index22 alt2\">23<\/div>\n<div class=\"line number24 index23 alt1\">24<\/div>\n<div class=\"line number25 index24 alt2\">25<\/div>\n<div class=\"line number26 index25 alt1\">26<\/div>\n<div class=\"line number27 index26 alt2\">27<\/div>\n<div class=\"line number28 index27 alt1\">28<\/div>\n<div class=\"line number29 index28 alt2\">29<\/div>\n<div class=\"line number30 index29 alt1\">30<\/div>\n<div class=\"line number31 index30 alt2\">31<\/div>\n<div class=\"line number32 index31 alt1\">32<\/div>\n<div class=\"line number33 index32 alt2\">33<\/div>\n<div class=\"line number34 index33 alt1\">34<\/div>\n<div class=\"line number35 index34 alt2\">35<\/div>\n<div class=\"line number36 index35 alt1\">36<\/div>\n<div class=\"line number37 index36 alt2\">37<\/div>\n<div class=\"line number38 index37 alt1\">38<\/div>\n<div class=\"line number39 index38 alt2\">39<\/div>\n<div class=\"line number40 index39 alt1\">40<\/div>\n<div class=\"line number41 index40 alt2\">41<\/div>\n<div class=\"line number42 index41 alt1\">42<\/div>\n<div class=\"line number43 index42 alt2\">43<\/div>\n<div class=\"line number44 index43 alt1\">44<\/div>\n<div class=\"line number45 index44 alt2\">45<\/div>\n<div class=\"line number46 index45 alt1\">46<\/div>\n<div class=\"line number47 index46 alt2\">47<\/div>\n<div class=\"line number48 index47 alt1\">48<\/div>\n<div class=\"line number49 index48 alt2\">49<\/div>\n<div class=\"line number50 index49 alt1\">50<\/div>\n<div class=\"line number51 index50 alt2\">51<\/div>\n<div class=\"line number52 index51 alt1\">52<\/div>\n<div class=\"line number53 index52 alt2\">53<\/div>\n<div class=\"line number54 index53 alt1\">54<\/div>\n<div class=\"line number55 index54 alt2\">55<\/div>\n<div class=\"line number56 index55 alt1\">56<\/div>\n<div class=\"line number57 index56 alt2\">57<\/div>\n<div class=\"line number58 index57 alt1\">58<\/div>\n<div class=\"line number59 index58 alt2\">59<\/div>\n<div class=\"line number60 index59 alt1\">60<\/div>\n<div class=\"line number61 index60 alt2\">61<\/div>\n<div class=\"line number62 index61 alt1\">62<\/div>\n<div class=\"line number63 index62 alt2\">63<\/div>\n<div class=\"line number64 index63 alt1\">64<\/div>\n<div class=\"line number65 index64 alt2\">65<\/div>\n<div class=\"line number66 index65 alt1\">66<\/div>\n<div class=\"line number67 index66 alt2\">67<\/div>\n<div class=\"line number68 index67 alt1\">68<\/div>\n<div class=\"line number69 index68 alt2\">69<\/div>\n<div class=\"line number70 index69 alt1\">70<\/div>\n<div class=\"line number71 index70 alt2\">71<\/div>\n<div class=\"line number72 index71 alt1\">72<\/div>\n<div class=\"line number73 index72 alt2\">73<\/div>\n<div class=\"line number74 index73 alt1\">74<\/div>\n<div class=\"line number75 index74 alt2\">75<\/div>\n<div class=\"line number76 index75 alt1\">76<\/div>\n<div class=\"line number77 index76 alt2\">77<\/div>\n<div class=\"line number78 index77 alt1\">78<\/div>\n<div class=\"line number79 index78 alt2\">79<\/div>\n<div class=\"line number80 index79 alt1\">80<\/div>\n<div class=\"line number81 index80 alt2\">81<\/div>\n<div class=\"line number82 index81 alt1\">82<\/div>\n<div class=\"line number83 index82 alt2\">83<\/div>\n<div class=\"line number84 index83 alt1\">84<\/div>\n<div class=\"line number85 index84 alt2\">85<\/div>\n<div class=\"line number86 index85 alt1\">86<\/div>\n<div class=\"line number87 index86 alt2\">87<\/div>\n<div class=\"line number88 index87 alt1\">88<\/div>\n<div class=\"line number89 index88 alt2\">89<\/div>\n<div class=\"line number90 index89 alt1\">90<\/div>\n<div class=\"line number91 index90 alt2\">91<\/div>\n<div class=\"line number92 index91 alt1\">92<\/div>\n<div class=\"line number93 index92 alt2\">93<\/div>\n<div class=\"line number94 index93 alt1\">94<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"html plain\">&lt;!<\/code><code class=\"html keyword\">DOCTYPE<\/code> <code class=\"html plain\">html&gt;<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">html<\/code> <code class=\"html color1\">lang<\/code><code class=\"html plain\">=<\/code><code class=\"html string\">\"en\"<\/code> <code class=\"html color1\">xmlns:th<\/code><code class=\"html plain\">=<\/code><code class=\"html string\">\"<a href=\"http:\/\/www.thymeleaf.org\">http:\/\/www.thymeleaf.org<\/a>\"<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number3 index2 alt2\">&nbsp;<\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">head<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">meta<\/code> <code class=\"html color1\">charset<\/code><code class=\"html plain\">=<\/code><code class=\"html string\">\"UTF-8\"<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">title<\/code><code class=\"html plain\">&gt;Index page&lt;\/<\/code><code class=\"html keyword\">title<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">link<\/code> <code class=\"html color1\">href<\/code><code class=\"html plain\">=<\/code><code class=\"html string\">\"<a href=\"https:\/\/stackpath.bootstrapcdn.com\/bootstrap\/4.5.2\/css\/bootstrap.min.css\">https:\/\/stackpath.bootstrapcdn.com\/bootstrap\/4.5.2\/css\/bootstrap.min.css<\/a>\"<\/code> <code class=\"html color1\">rel<\/code><code class=\"html plain\">=<\/code><code class=\"html string\">\"stylesheet\"<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">style<\/code> <code class=\"html color1\">type<\/code><code class=\"html plain\">=<\/code><code class=\"html string\">\"text\/css\"<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">th {<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">text-align: center;<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">font-weight: bold;<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">border-top: none !important;<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">}<\/code><\/div>\n<div class=\"line number14 index13 alt1\">&nbsp;<\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">th, td {<\/code><\/div>\n<div class=\"line number16 index15 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">white-space: nowrap;<\/code><\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">}<\/code><\/div>\n<div class=\"line number18 index17 alt1\">&nbsp;<\/div>\n<div class=\"line number19 index18 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">.mt-20 {<\/code><\/div>\n<div class=\"line number20 index19 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">margin-top: 20px;<\/code><\/div>\n<div class=\"line number21 index20 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">}<\/code><\/div>\n<div class=\"line number22 index21 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;\/<\/code><code class=\"html keyword\">style<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number23 index22 alt2\"><code class=\"html plain\">&lt;\/<\/code><code class=\"html keyword\">head<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number24 index23 alt1\">&nbsp;<\/div>\n<div class=\"line number25 index24 alt2\"><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">body<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number26 index25 alt1\"><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">div<\/code> <code class=\"html color1\">class<\/code><code class=\"html plain\">=<\/code><code class=\"html string\">\"container\"<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number27 index26 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">h3<\/code> <code class=\"html color1\">class<\/code><code class=\"html plain\">=<\/code><code class=\"html string\">\"text-info text-center mt-20\"<\/code><code class=\"html plain\">&gt;Sorting Example : Employees&lt;\/<\/code><code class=\"html keyword\">h3<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number28 index27 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html comments\">&lt;!-- employees table --&gt;<\/code><\/div>\n<div class=\"line number29 index28 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">table<\/code> <code class=\"html color1\">class<\/code><code class=\"html plain\">=<\/code><code class=\"html string\">\"table table-striped mt-20 text-center\"<\/code> <code class=\"html color1\">id<\/code><code class=\"html plain\">=<\/code><code class=\"html string\">\"employeesTable\"<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number30 index29 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">thead<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number31 index30 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">tr<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number32 index31 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html comments\">&lt;!-- sorting control via employee id --&gt;<\/code><\/div>\n<div class=\"line number33 index32 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">th<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number34 index33 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">a<\/code> <code class=\"html color1\">th:href<\/code><code class=\"html plain\">=<\/code><code class=\"html string\">\"@{'\/page\/' + ${currentPage} + '?sort-field=id&amp;sort-dir=' + ${reverseSortDir}}\"<\/code><code class=\"html plain\">&gt;Id&lt;\/<\/code><code class=\"html keyword\">a<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number35 index34 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;\/<\/code><code class=\"html keyword\">th<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number36 index35 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html comments\">&lt;!-- sorting control via employee firstname --&gt;<\/code><\/div>\n<div class=\"line number37 index36 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">th<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number38 index37 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">a<\/code> <code class=\"html color1\">th:href<\/code><code class=\"html plain\">=<\/code><code class=\"html string\">\"@{'\/page\/' + ${currentPage} + '?sort-field=firstName&amp;sort-dir=' + ${reverseSortDir}}\"<\/code><code class=\"html plain\">&gt;First name&lt;\/<\/code><code class=\"html keyword\">a<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number39 index38 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;\/<\/code><code class=\"html keyword\">th<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number40 index39 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html comments\">&lt;!-- sorting control via employee lastname --&gt;<\/code><\/div>\n<div class=\"line number41 index40 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">th<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number42 index41 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">a<\/code> <code class=\"html color1\">th:href<\/code><code class=\"html plain\">=<\/code><code class=\"html string\">\"@{'\/page\/' + ${currentPage} + '?sort-field=lastName&amp;sort-dir=' + ${reverseSortDir}}\"<\/code><code class=\"html plain\">&gt;Last name&lt;\/<\/code><code class=\"html keyword\">a<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number43 index42 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;\/<\/code><code class=\"html keyword\">th<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number44 index43 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">th<\/code><code class=\"html plain\">&gt;Email address&lt;\/<\/code><code class=\"html keyword\">th<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number45 index44 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">th<\/code><code class=\"html plain\">&gt;Gender&lt;\/<\/code><code class=\"html keyword\">th<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number46 index45 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">th<\/code><code class=\"html plain\">&gt;Phone number&lt;\/<\/code><code class=\"html keyword\">th<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number47 index46 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">th<\/code><code class=\"html plain\">&gt;Home address&lt;\/<\/code><code class=\"html keyword\">th<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number48 index47 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;\/<\/code><code class=\"html keyword\">tr<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number49 index48 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;\/<\/code><code class=\"html keyword\">thead<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number50 index49 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">tbody<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number51 index50 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">tr<\/code> <code class=\"html color1\">th:each<\/code><code class=\"html plain\">=<\/code><code class=\"html string\">\"employee : ${listEmployees}\"<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number52 index51 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">td<\/code> <code class=\"html color1\">th:text<\/code><code class=\"html plain\">=<\/code><code class=\"html string\">\"${employee.id}\"<\/code><code class=\"html plain\">&gt;&lt;\/<\/code><code class=\"html keyword\">td<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number53 index52 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">td<\/code> <code class=\"html color1\">th:text<\/code><code class=\"html plain\">=<\/code><code class=\"html string\">\"${employee.firstName}\"<\/code><code class=\"html plain\">&gt;&lt;\/<\/code><code class=\"html keyword\">td<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number54 index53 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">td<\/code> <code class=\"html color1\">th:text<\/code><code class=\"html plain\">=<\/code><code class=\"html string\">\"${employee.lastName}\"<\/code><code class=\"html plain\">&gt;&lt;\/<\/code><code class=\"html keyword\">td<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number55 index54 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">td<\/code> <code class=\"html color1\">th:text<\/code><code class=\"html plain\">=<\/code><code class=\"html string\">\"${employee.gender}\"<\/code><code class=\"html plain\">&gt;&lt;\/<\/code><code class=\"html keyword\">td<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number56 index55 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">td<\/code> <code class=\"html color1\">th:text<\/code><code class=\"html plain\">=<\/code><code class=\"html string\">\"${employee.email}\"<\/code><code class=\"html plain\">&gt;&lt;\/<\/code><code class=\"html keyword\">td<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number57 index56 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">td<\/code> <code class=\"html color1\">th:text<\/code><code class=\"html plain\">=<\/code><code class=\"html string\">\"${employee.phoneNumber}\"<\/code><code class=\"html plain\">&gt;&lt;\/<\/code><code class=\"html keyword\">td<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number58 index57 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">td<\/code> <code class=\"html color1\">th:text<\/code><code class=\"html plain\">=<\/code><code class=\"html string\">\"${employee.homeAddress}\"<\/code><code class=\"html plain\">&gt;&lt;\/<\/code><code class=\"html keyword\">td<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number59 index58 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;\/<\/code><code class=\"html keyword\">tr<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number60 index59 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;\/<\/code><code class=\"html keyword\">tbody<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number61 index60 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;\/<\/code><code class=\"html keyword\">table<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number62 index61 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html comments\">&lt;!-- pagination control --&gt;<\/code><\/div>\n<div class=\"line number63 index62 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">div<\/code> <code class=\"html plain\">th:if=\"${totalPages &gt; 1}\"&gt;<\/code><\/div>\n<div class=\"line number64 index63 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">div<\/code> <code class=\"html color1\">class<\/code><code class=\"html plain\">=<\/code><code class=\"html string\">\"row col-sm-10\"<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number65 index64 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">div<\/code> <code class=\"html color1\">class<\/code><code class=\"html plain\">=<\/code><code class=\"html string\">\"col-sm-2\"<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number66 index65 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">Total employees: &lt;<\/code><code class=\"html keyword\">strong<\/code><code class=\"html plain\">&gt;[[${totalItems}]]&lt;\/<\/code><code class=\"html keyword\">strong<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number67 index66 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;\/<\/code><code class=\"html keyword\">div<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number68 index67 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">div<\/code> <code class=\"html color1\">class<\/code><code class=\"html plain\">=<\/code><code class=\"html string\">\"col-sm-1\"<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number69 index68 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">span<\/code> <code class=\"html color1\">th:each<\/code><code class=\"html plain\">=<\/code><code class=\"html string\">\"i: ${#numbers.sequence(1, totalPages)}\"<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number70 index69 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">a<\/code> <code class=\"html color1\">th:href<\/code><code class=\"html plain\">=<\/code><code class=\"html string\">\"@{'\/page\/' + ${i} + '?sort-field=' + ${sortField} + '&amp;sort-dir=' + ${sortDir}}\"<\/code><\/div>\n<div class=\"line number71 index70 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html color1\">th:if<\/code><code class=\"html plain\">=<\/code><code class=\"html string\">\"${currentPage != i}\"<\/code><code class=\"html plain\">&gt;[[${i}]]&lt;\/<\/code><code class=\"html keyword\">a<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number72 index71 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">span<\/code> <code class=\"html color1\">th:unless<\/code><code class=\"html plain\">=<\/code><code class=\"html string\">\"${currentPage != i}\"<\/code><code class=\"html plain\">&gt;[[${i}]]&lt;\/<\/code><code class=\"html keyword\">span<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number73 index72 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;\/<\/code><code class=\"html keyword\">span<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number74 index73 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;\/<\/code><code class=\"html keyword\">div<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number75 index74 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">div<\/code> <code class=\"html color1\">class<\/code><code class=\"html plain\">=<\/code><code class=\"html string\">\"col-sm-1\"<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number76 index75 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">a<\/code> <code class=\"html color1\">th:href<\/code><code class=\"html plain\">=<\/code><code class=\"html string\">\"@{'\/page\/' + ${currentPage + 1} + '?sort-field=' + ${sortField} + '&amp;sort-dir=' + ${sortDir}}\"<\/code><\/div>\n<div class=\"line number77 index76 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html color1\">th:if<\/code><code class=\"html plain\">=<\/code><code class=\"html string\">\"${currentPage &lt; totalPages}\"<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number78 index77 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">Next<\/code><\/div>\n<div class=\"line number79 index78 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;\/<\/code><code class=\"html keyword\">a<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number80 index79 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">span<\/code> <code class=\"html color1\">th:unless<\/code><code class=\"html plain\">=<\/code><code class=\"html string\">\"${currentPage &lt; totalPages}\"<\/code><code class=\"html plain\">&gt;Next&lt;\/<\/code><code class=\"html keyword\">span<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number81 index80 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;\/<\/code><code class=\"html keyword\">div<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number82 index81 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">div<\/code> <code class=\"html color1\">class<\/code><code class=\"html plain\">=<\/code><code class=\"html string\">\"col-sm-1\"<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number83 index82 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">a<\/code> <code class=\"html color1\">th:href<\/code><code class=\"html plain\">=<\/code><code class=\"html string\">\"@{'\/page\/' + ${totalPages} + '?sort-field=' + ${sortField} + '&amp;sort-dir=' + ${sortDir}}\"<\/code><\/div>\n<div class=\"line number84 index83 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html color1\">th:if<\/code><code class=\"html plain\">=<\/code><code class=\"html string\">\"${currentPage &lt; totalPages}\"<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number85 index84 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">Last<\/code><\/div>\n<div class=\"line number86 index85 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;\/<\/code><code class=\"html keyword\">a<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number87 index86 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">span<\/code> <code class=\"html color1\">th:unless<\/code><code class=\"html plain\">=<\/code><code class=\"html string\">\"${currentPage &lt; totalPages}\"<\/code><code class=\"html plain\">&gt;Last&lt;\/<\/code><code class=\"html keyword\">span<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number88 index87 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;\/<\/code><code class=\"html keyword\">div<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number89 index88 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;\/<\/code><code class=\"html keyword\">div<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number90 index89 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;\/<\/code><code class=\"html keyword\">div<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number91 index90 alt2\"><code class=\"html plain\">&lt;\/<\/code><code class=\"html keyword\">div<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number92 index91 alt1\"><code class=\"html plain\">&lt;\/<\/code><code class=\"html keyword\">body<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number93 index92 alt2\">&nbsp;<\/div>\n<div class=\"line number94 index93 alt1\"><code class=\"html plain\">&lt;\/<\/code><code class=\"html keyword\">html<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h2>5. Run the Application<\/h2>\n<p>To execute the application, right-click on the <code>SpringbootThymeleafPaginationSorting.java<\/code> class, <code>Run As -&gt; Java Application<\/code>.<\/p>\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"779\" height=\"610\" src=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2020\/10\/springboot-thymeleaf-pagination-sorting-project-run-guide-img1.jpg\" alt=\"Spring Boot sorting thymeleaf - Run the Application\" class=\"wp-image-96389\" srcset=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2020\/10\/springboot-thymeleaf-pagination-sorting-project-run-guide-img1.jpg 779w, https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2020\/10\/springboot-thymeleaf-pagination-sorting-project-run-guide-img1-300x235.jpg 300w, https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2020\/10\/springboot-thymeleaf-pagination-sorting-project-run-guide-img1-768x601.jpg 768w\" sizes=\"(max-width: 779px) 100vw, 779px\" \/><figcaption>Fig. 2: Run the Application<\/figcaption><\/figure>\n<h2>6. Project Demo<\/h2>\n<p>Open the browser of your choice and hit the following URL. The result will be displayed in a paginated manner (i.e. smaller chunks) and you can click on the page number to retrieve the results as per the page number.<\/p>\n<div>\n<div id=\"highlighter_845639\" class=\"syntaxhighlighter  plain\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"plain plain\"><a href=\"http:\/\/localhost:10092\/\">http:\/\/localhost:10092\/<\/a><\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"818\" height=\"548\" src=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2020\/10\/springboot-thymeleaf-pagination-sorting-project-demo-guide-img1.jpg\" alt=\"Spring Boot sorting thymeleaf - Index Page\" class=\"wp-image-96390\" srcset=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2020\/10\/springboot-thymeleaf-pagination-sorting-project-demo-guide-img1.jpg 818w, https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2020\/10\/springboot-thymeleaf-pagination-sorting-project-demo-guide-img1-300x201.jpg 300w, https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2020\/10\/springboot-thymeleaf-pagination-sorting-project-demo-guide-img1-768x515.jpg 768w\" sizes=\"(max-width: 818px) 100vw, 818px\" \/><figcaption>Fig. 3: Index Page<\/figcaption><\/figure>\n<\/div>\n<p>You can click on the column names to sort the results based on the sort field either in the ascending or the descending order.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"818\" height=\"577\" src=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2020\/10\/springboot-thymeleaf-pagination-sorting-project-demo-guide-img2.jpg\" alt=\"Spring Boot sorting thymeleaf - Sorted Result \" class=\"wp-image-96391\" srcset=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2020\/10\/springboot-thymeleaf-pagination-sorting-project-demo-guide-img2.jpg 818w, https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2020\/10\/springboot-thymeleaf-pagination-sorting-project-demo-guide-img2-300x212.jpg 300w, https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2020\/10\/springboot-thymeleaf-pagination-sorting-project-demo-guide-img2-768x542.jpg 768w\" sizes=\"(max-width: 818px) 100vw, 818px\" \/><figcaption>Fig. 4: Sorted Result<\/figcaption><\/figure>\n<\/div>\n<p>That is all for this tutorial and I hope the article served you whatever you were looking for. Happy Learning and do not forget to share!<\/p>\n<h2>7. Summary<\/h2>\n<p>In this section, you learned:<\/p>\n<ul>\n<li>Spring Boot, Thymeleaf, Lombok and it features, and Sorting<\/li>\n<li>Sorting implementation in Spring Boot and displaying the elements on the browser using Thymeleaf<\/li>\n<\/ul>\n<p>You can download the sample application as an Eclipse project in the <a href=\"#projectDownload\">Downloads<\/a> section.<\/p>\n<h2><a name=\"projectDownload\"><\/a>8. Download the Eclipse Project<\/h2>\n<p>This was an example of Spring Boot sorting with Thymeleaf.<\/p>\n<div class=\"download\"><strong>Download<\/strong><br \/>You can download the full source code of this example here: <a href=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2020\/10\/SpringbootThymeleafPaginationSortingV2.zip\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>Spring Boot sorting with Thymeleaf Tutorial<\/strong><\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Welcome, in this tutorial, we will understand the sorting in a spring boot application and for this, we will use thymeleaf. 1. Introduction Before going further in this tutorial, we will look at the common terminology such as introduction to Spring Boot, Lombok, Thymeleaf, and Sorting. 1.1 Spring Boot Spring boot is a module that &hellip;<\/p>\n","protected":false},"author":119,"featured_media":1248,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1390],"tags":[638,1054,1386,1675],"class_list":["post-96387","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-boot","tag-sort","tag-spring","tag-spring-boot","tag-spring-tutorial"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Spring Boot sorting with Thymeleaf - Examples Java Code Geeks - 2026<\/title>\n<meta name=\"description\" content=\"Welcome, in this tutorial, we will understand the sorting in a spring boot application and for this, we will use thymeleaf. 1. Introduction Before going\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/examples.javacodegeeks.com\/spring-boot-sorting-with-thymeleaf-tutorial\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Spring Boot sorting with Thymeleaf - Examples Java Code Geeks - 2026\" \/>\n<meta property=\"og:description\" content=\"Welcome, in this tutorial, we will understand the sorting in a spring boot application and for this, we will use thymeleaf. 1. Introduction Before going\" \/>\n<meta property=\"og:url\" content=\"https:\/\/examples.javacodegeeks.com\/spring-boot-sorting-with-thymeleaf-tutorial\/\" \/>\n<meta property=\"og:site_name\" content=\"Examples Java Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/javacodegeeks\" \/>\n<meta property=\"article:published_time\" content=\"2020-10-22T08:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/spring-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Yatin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:site\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Yatin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"28 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/spring-boot-sorting-with-thymeleaf-tutorial\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/spring-boot-sorting-with-thymeleaf-tutorial\/\"},\"author\":{\"name\":\"Yatin\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/9874407a37b028e8be3276e2b5960d13\"},\"headline\":\"Spring Boot sorting with Thymeleaf Tutorial\",\"datePublished\":\"2020-10-22T08:00:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/spring-boot-sorting-with-thymeleaf-tutorial\/\"},\"wordCount\":1278,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/spring-boot-sorting-with-thymeleaf-tutorial\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/spring-logo.jpg\",\"keywords\":[\"sort\",\"spring\",\"spring boot\",\"spring tutorial\"],\"articleSection\":[\"Boot\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/examples.javacodegeeks.com\/spring-boot-sorting-with-thymeleaf-tutorial\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/spring-boot-sorting-with-thymeleaf-tutorial\/\",\"url\":\"https:\/\/examples.javacodegeeks.com\/spring-boot-sorting-with-thymeleaf-tutorial\/\",\"name\":\"Spring Boot sorting with Thymeleaf - Examples Java Code Geeks - 2026\",\"isPartOf\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/spring-boot-sorting-with-thymeleaf-tutorial\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/spring-boot-sorting-with-thymeleaf-tutorial\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/spring-logo.jpg\",\"datePublished\":\"2020-10-22T08:00:00+00:00\",\"description\":\"Welcome, in this tutorial, we will understand the sorting in a spring boot application and for this, we will use thymeleaf. 1. Introduction Before going\",\"breadcrumb\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/spring-boot-sorting-with-thymeleaf-tutorial\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/examples.javacodegeeks.com\/spring-boot-sorting-with-thymeleaf-tutorial\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/spring-boot-sorting-with-thymeleaf-tutorial\/#primaryimage\",\"url\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/spring-logo.jpg\",\"contentUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/spring-logo.jpg\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/spring-boot-sorting-with-thymeleaf-tutorial\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/examples.javacodegeeks.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java Development\",\"item\":\"https:\/\/examples.javacodegeeks.com\/category\/java-development\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Enterprise Java\",\"item\":\"https:\/\/examples.javacodegeeks.com\/category\/java-development\/enterprise-java\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"spring\",\"item\":\"https:\/\/examples.javacodegeeks.com\/category\/java-development\/enterprise-java\/spring\/\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"Boot\",\"item\":\"https:\/\/examples.javacodegeeks.com\/category\/java-development\/enterprise-java\/spring\/boot\/\"},{\"@type\":\"ListItem\",\"position\":6,\"name\":\"Spring Boot sorting with Thymeleaf Tutorial\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#website\",\"url\":\"https:\/\/examples.javacodegeeks.com\/\",\"name\":\"Java Code Geeks\",\"description\":\"Java Examples and Code Snippets\",\"publisher\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/#organization\"},\"alternateName\":\"JCG\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/examples.javacodegeeks.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\/\/examples.javacodegeeks.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"contentUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/javacodegeeks\",\"https:\/\/x.com\/javacodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/9874407a37b028e8be3276e2b5960d13\",\"name\":\"Yatin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2023\/09\/cropped-Yatin-Batra_avatar_1515758148-96x96.jpg\",\"contentUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2023\/09\/cropped-Yatin-Batra_avatar_1515758148-96x96.jpg\",\"caption\":\"Yatin\"},\"description\":\"An experience full-stack engineer well versed with Core Java, Spring\/Springboot, MVC, Security, AOP, Frontend (Angular &amp; React), and cloud technologies (such as AWS, GCP, Jenkins, Docker, K8).\",\"sameAs\":[\"https:\/\/www.javacodegeeks.com\"],\"url\":\"https:\/\/examples.javacodegeeks.com\/author\/yatin-batra\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Spring Boot sorting with Thymeleaf - Examples Java Code Geeks - 2026","description":"Welcome, in this tutorial, we will understand the sorting in a spring boot application and for this, we will use thymeleaf. 1. Introduction Before going","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/examples.javacodegeeks.com\/spring-boot-sorting-with-thymeleaf-tutorial\/","og_locale":"en_US","og_type":"article","og_title":"Spring Boot sorting with Thymeleaf - Examples Java Code Geeks - 2026","og_description":"Welcome, in this tutorial, we will understand the sorting in a spring boot application and for this, we will use thymeleaf. 1. Introduction Before going","og_url":"https:\/\/examples.javacodegeeks.com\/spring-boot-sorting-with-thymeleaf-tutorial\/","og_site_name":"Examples Java Code Geeks","article_publisher":"https:\/\/www.facebook.com\/javacodegeeks","article_published_time":"2020-10-22T08:00:00+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/spring-logo.jpg","type":"image\/jpeg"}],"author":"Yatin","twitter_card":"summary_large_image","twitter_creator":"@javacodegeeks","twitter_site":"@javacodegeeks","twitter_misc":{"Written by":"Yatin","Est. reading time":"28 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/examples.javacodegeeks.com\/spring-boot-sorting-with-thymeleaf-tutorial\/#article","isPartOf":{"@id":"https:\/\/examples.javacodegeeks.com\/spring-boot-sorting-with-thymeleaf-tutorial\/"},"author":{"name":"Yatin","@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/9874407a37b028e8be3276e2b5960d13"},"headline":"Spring Boot sorting with Thymeleaf Tutorial","datePublished":"2020-10-22T08:00:00+00:00","mainEntityOfPage":{"@id":"https:\/\/examples.javacodegeeks.com\/spring-boot-sorting-with-thymeleaf-tutorial\/"},"wordCount":1278,"commentCount":0,"publisher":{"@id":"https:\/\/examples.javacodegeeks.com\/#organization"},"image":{"@id":"https:\/\/examples.javacodegeeks.com\/spring-boot-sorting-with-thymeleaf-tutorial\/#primaryimage"},"thumbnailUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/spring-logo.jpg","keywords":["sort","spring","spring boot","spring tutorial"],"articleSection":["Boot"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/examples.javacodegeeks.com\/spring-boot-sorting-with-thymeleaf-tutorial\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/examples.javacodegeeks.com\/spring-boot-sorting-with-thymeleaf-tutorial\/","url":"https:\/\/examples.javacodegeeks.com\/spring-boot-sorting-with-thymeleaf-tutorial\/","name":"Spring Boot sorting with Thymeleaf - Examples Java Code Geeks - 2026","isPartOf":{"@id":"https:\/\/examples.javacodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/examples.javacodegeeks.com\/spring-boot-sorting-with-thymeleaf-tutorial\/#primaryimage"},"image":{"@id":"https:\/\/examples.javacodegeeks.com\/spring-boot-sorting-with-thymeleaf-tutorial\/#primaryimage"},"thumbnailUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/spring-logo.jpg","datePublished":"2020-10-22T08:00:00+00:00","description":"Welcome, in this tutorial, we will understand the sorting in a spring boot application and for this, we will use thymeleaf. 1. Introduction Before going","breadcrumb":{"@id":"https:\/\/examples.javacodegeeks.com\/spring-boot-sorting-with-thymeleaf-tutorial\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/examples.javacodegeeks.com\/spring-boot-sorting-with-thymeleaf-tutorial\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/examples.javacodegeeks.com\/spring-boot-sorting-with-thymeleaf-tutorial\/#primaryimage","url":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/spring-logo.jpg","contentUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/spring-logo.jpg","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/examples.javacodegeeks.com\/spring-boot-sorting-with-thymeleaf-tutorial\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/examples.javacodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"Java Development","item":"https:\/\/examples.javacodegeeks.com\/category\/java-development\/"},{"@type":"ListItem","position":3,"name":"Enterprise Java","item":"https:\/\/examples.javacodegeeks.com\/category\/java-development\/enterprise-java\/"},{"@type":"ListItem","position":4,"name":"spring","item":"https:\/\/examples.javacodegeeks.com\/category\/java-development\/enterprise-java\/spring\/"},{"@type":"ListItem","position":5,"name":"Boot","item":"https:\/\/examples.javacodegeeks.com\/category\/java-development\/enterprise-java\/spring\/boot\/"},{"@type":"ListItem","position":6,"name":"Spring Boot sorting with Thymeleaf Tutorial"}]},{"@type":"WebSite","@id":"https:\/\/examples.javacodegeeks.com\/#website","url":"https:\/\/examples.javacodegeeks.com\/","name":"Java Code Geeks","description":"Java Examples and Code Snippets","publisher":{"@id":"https:\/\/examples.javacodegeeks.com\/#organization"},"alternateName":"JCG","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/examples.javacodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/examples.javacodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/examples.javacodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/javacodegeeks","https:\/\/x.com\/javacodegeeks"]},{"@type":"Person","@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/9874407a37b028e8be3276e2b5960d13","name":"Yatin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/image\/","url":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2023\/09\/cropped-Yatin-Batra_avatar_1515758148-96x96.jpg","contentUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2023\/09\/cropped-Yatin-Batra_avatar_1515758148-96x96.jpg","caption":"Yatin"},"description":"An experience full-stack engineer well versed with Core Java, Spring\/Springboot, MVC, Security, AOP, Frontend (Angular &amp; React), and cloud technologies (such as AWS, GCP, Jenkins, Docker, K8).","sameAs":["https:\/\/www.javacodegeeks.com"],"url":"https:\/\/examples.javacodegeeks.com\/author\/yatin-batra\/"}]}},"_links":{"self":[{"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/96387","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/users\/119"}],"replies":[{"embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/comments?post=96387"}],"version-history":[{"count":0,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/96387\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/media\/1248"}],"wp:attachment":[{"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/media?parent=96387"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/categories?post=96387"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/tags?post=96387"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}