Dropdowns map for sort dropdown options.
class Dropdowns {
public final LinkedHashMap<String, String> orderMap = new LinkedHashMap<>(Map.of(
"noviji", "Prvo najnoviji",
"popularni", "Prvo najpopularniji",
"skuplji", "Po ceni opadajuće",
"jeftiniji", "Po ceni rastuće",
"veći", "Po površini opadajuće",
"manji", "Po površini rastuće"
));
}
list method calls listModel method which adds orderMap to the Model.
public class ListingController extends BaseController {
private final Dropdowns dropdowns;
// ...
// Main
@GetMapping("")
public String list(Model model, Authentication auth,
@RequestParam(name = "strana", defaultValue = "0", required = false) int pageNum,
@RequestParam(name = "redosled", defaultValue = "noviji", required = false) String order) {
// 4 Authentication & authorization
Object user = currentUser(auth);
Page<Listing> page = listingServ.findAll(pageNum, order);
listModel(model, page, order);
// 5 Security logging
logger.info("User {} viewed all listings.", user);
return "listings/listing_list";
} // [1]
private void listModel(Model model, Page<Listing> page, String order) {
ListingSearchDTO searchDTO = new ListingSearchDTO();
List<Listing> listings = page.getContent();
model.addAttribute("orderMap", dropdowns.orderMap);
model.addAttribute("order", order);
model.addAttribute("page", page);
model.addAttribute("searchDTO", searchDTO);
model.addAttribute("listings", listings);
} // [1]
}
1/2