diff --git a/spring-webflow-samples/booking-faces/src/main/java/org/springframework/webflow/samples/booking/JpaBookingService.java b/spring-webflow-samples/booking-faces/src/main/java/org/springframework/webflow/samples/booking/JpaBookingService.java
index 13d7618d..52993c7a 100755
--- a/spring-webflow-samples/booking-faces/src/main/java/org/springframework/webflow/samples/booking/JpaBookingService.java
+++ b/spring-webflow-samples/booking-faces/src/main/java/org/springframework/webflow/samples/booking/JpaBookingService.java
@@ -43,8 +43,9 @@ public class JpaBookingService implements BookingService {
String pattern = getSearchPattern(criteria);
return em.createQuery(
"select h from Hotel h where lower(h.name) like " + pattern + " or lower(h.city) like " + pattern
- + " or lower(h.zip) like " + pattern + " or lower(h.address) like " + pattern).setMaxResults(
- criteria.getPageSize()).setFirstResult(criteria.getPage() * criteria.getPageSize()).getResultList();
+ + " or lower(h.zip) like " + pattern + " or lower(h.address) like " + pattern + " order by h."
+ + criteria.getSortBy()).setMaxResults(criteria.getPageSize()).setFirstResult(
+ criteria.getPage() * criteria.getPageSize()).getResultList();
}
@Transactional(readOnly = true)
diff --git a/spring-webflow-samples/booking-faces/src/main/java/org/springframework/webflow/samples/booking/SearchCriteria.java b/spring-webflow-samples/booking-faces/src/main/java/org/springframework/webflow/samples/booking/SearchCriteria.java
index 0a1b92dc..109ded0d 100755
--- a/spring-webflow-samples/booking-faces/src/main/java/org/springframework/webflow/samples/booking/SearchCriteria.java
+++ b/spring-webflow-samples/booking-faces/src/main/java/org/springframework/webflow/samples/booking/SearchCriteria.java
@@ -24,6 +24,16 @@ public class SearchCriteria implements Serializable {
*/
private int page;
+ private String sortBy = "name";
+
+ public String getSortBy() {
+ return sortBy;
+ }
+
+ public void setSortBy(String sortBy) {
+ this.sortBy = sortBy;
+ }
+
public String getSearchString() {
return searchString;
}
@@ -58,6 +68,7 @@ public class SearchCriteria implements Serializable {
public void resetPage() {
page = 0;
+ sortBy = "name";
}
public String toString() {
diff --git a/spring-webflow-samples/booking-faces/src/main/webapp/WEB-INF/flows/main/main.xml b/spring-webflow-samples/booking-faces/src/main/webapp/WEB-INF/flows/main/main.xml
index ce14cc19..1952d81b 100755
--- a/spring-webflow-samples/booking-faces/src/main/webapp/WEB-INF/flows/main/main.xml
+++ b/spring-webflow-samples/booking-faces/src/main/webapp/WEB-INF/flows/main/main.xml
@@ -22,6 +22,10 @@
+
+
+
+
diff --git a/spring-webflow-samples/booking-faces/src/main/webapp/WEB-INF/flows/main/reviewHotels.xhtml b/spring-webflow-samples/booking-faces/src/main/webapp/WEB-INF/flows/main/reviewHotels.xhtml
index c6544b73..bd10a19f 100644
--- a/spring-webflow-samples/booking-faces/src/main/webapp/WEB-INF/flows/main/reviewHotels.xhtml
+++ b/spring-webflow-samples/booking-faces/src/main/webapp/WEB-INF/flows/main/reviewHotels.xhtml
@@ -19,7 +19,12 @@
- Name
+
+
+
+
+
+
#{h.name}
@@ -27,7 +32,12 @@
#{h.address}
- City, State
+
+
+
+
+
+
#{h.city}, #{h.state}, #{h.country}