Cześć, mam problem z filtrowaniem wartości wydaję się być wszystko w porządku ale kiedy wciskam magiczny button search status - 404 i za bardzo nie wiem czemu.
carRepoImpl:
@Override
public Set<car> getCarByParams(Map<String, List<String>> params) {
Set<car> carByMark = new HashSet<car>();
Set<car> carByModel = new HashSet<car>();
Set<String> criterion = params.keySet();
if(criterion.contains("mark")){
for(String model : params.get("mark")){
for(car c : list){
if (model.equalsIgnoreCase(c.getCarMark())){
carByMark.add(c);
}
}
}
}
if(criterion.contains("model")){
for(String model : params.get("model")){
for (car c:list){
if(model.equalsIgnoreCase(c.getCarModel())){
carByModel.add(c);
}
}
}
}
carByMark.retainAll(carByModel);
return carByMark;
}
Implementacja w kontrolerze:
@RequestMapping("filtr/{parametryFiltru}")
public String pobierzSamochodyWedlugFiltru(@MatrixVariable(pathVar="parametryFiltru") Map<String, List<String>> parametryFiltru, Model model)
{
model.addAttribute("samochody", carService.getCarByParams(parametryFiltru));
return "samochody";
}
Tutaj mam html z polem filtru:
<div class="searchField">
Proszę wpisać markę oraz model poszukiwanego samochodu
<br>
<form action="/project/cars/filtr?carMark=${car.carMark };carModel=${car.carModel}" method="GET">
Marka: <input type="text" name="carMark"> <br>
Model: <input type="text" name="carModel" /><br/>
<input class="btn btn-default" type="submit" value="Submit" />
</form>
</div>
Jeśli ktoś może na to spojrzeć fachowym okiem i powiedzieć co jest skopane to będzie miło, przy okazji może coś można by było poprawić :)