ponizszy kod jest w wiekszosci kodem rpzepisanym z tutka:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import pl.kobietydokodu.koty.KotDAO;
import pl.kobietydokodu.koty.domain.Kot;
import pl.kobietydokodu.koty.dto.KotDTO;
@Controller
public class KotyController {
@Autowired
KotDAO dao;
@RequestMapping("/lista")
public String listaKotow(Model model) {
model.addAttribute("koty", dao.getKoty());
return "lista";
}
@RequestMapping("/dodaj")
public String dodajKota(HttpServletRequest request, @ModelAttribute("kotDto") @Valid KotDTO kotDto, BindingResult result) {
if (request.getMethod().equalsIgnoreCase("post") && !result.hasErrors()) {
Kot kot = new Kot();
SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy");
try {
kot.setDataUrodzenia(sdf.parse(kotDto.getDataUrodzenia()));
} catch (ParseException e) {
e.printStackTrace();
}
kot.setImie(kotDto.getImie());
kot.setImieOpiekuna(kotDto.getImieOpiekuna());
kot.setWaga(kotDto.getWaga());
dao.dodajKota(kot);
return "redirect:/lista";
}
return "dodaj";
}
@RequestMapping("/kot-{id}")
public String szczegolyKota(@PathVariable("id") Integer id, Model model) {
model.addAttribute("kot", dao.getKotById(id));
return "szczegoly";
}
@RequestMapping("/usun")
public String usunKota(Model model, HttpServletRequest request){
List<Kot> koty = dao.getKoty();
koty.remove(request.getParameter("id"));
model.addAttribute("koty", dao.getKoty());
return "lista";
}
}
Prosta aplikacja webowa, w ktorej mozemy dodac kota i wypelnic mu pola. Koty przechowywane sa w liscie. Wpadlem na pomysl ze dodam sobie opcje usuniecia koty z listy, jednak nie potrafie sobie poradzic z problemem zdobycia "id".
package pl.kobietydokodu.koty;
import java.util.ArrayList;
import java.util.List;
import org.springframework.stereotype.Repository;
import pl.kobietydokodu.koty.domain.Kot;
@Repository
public class KotDAO {
List<Kot> koty = new ArrayList<Kot>();
public void dodajKota(Kot kot) {
koty.add(kot);
}
public List<Kot> getKoty() {
return koty;
}
public Kot getKotById(Integer id) {
if (id<koty.size()) {
return koty.get(id);
} else {
return null;
}
}
}
nie wiem, czy cos jeszcze do rozwiazania problemu jest tutaj potrzebne. Ogolnie chodzi o to ze musze pobrac jakos id kota i przekazac go do remove, ale nie potrafie pobrac tego id.