Ich habe startController
und Startansicht. In dieser Ansicht gebe ich Anzahl und Betrag ein und validiere sie. Wenn die Validierung erfolgreich war, möchte ich diese Parameter (Anzahl und Menge) an einen anderen Controller übergeben und danach einige Operationen in diesem Controller ausführen. Ich sehe zwei Möglichkeiten:Wie übergeben POST-Parameter vom Controller zu einem anderen Controller Spring MVC?
machen Sie diese Operationen in der ersten Controller, in einer anderen Methode und verwenden Sie die zweite Ansicht dafür. Aber mein Controller wird sehr groß und die ganze Logik wird dies sein.
zweiten Controller erstellen und zweite Ansicht und Parameter an diesen Controller übergeben.
Ich mache dies:
@Controller
@RequestMapping("/")
public class StartController {
@Autowired
private ValidateService validateService;
@RequestMapping(method = RequestMethod.GET)
public ModelAndView printWelcome() {
ModelAndView modelAndView = new ModelAndView("start");
return modelAndView;
}
@RequestMapping(value = "process", method = RequestMethod.POST)
public ModelAndView process(HttpServletRequest request) {
ModelAndView modelAndView;
String phoneNumber = request.getParameter("phone_number");
int amount = Integer.parseInt(request.getParameter("amount"));
String result = validateService.validate(phoneNumber, amount);
if (!result.equals("OK")) {
modelAndView = new ModelAndView("start");
modelAndView.addObject("result",result);
}else {
modelAndView = new ModelAndView("redirect:/check/process");
modelAndView.addObject("phone_number", phoneNumber);
modelAndView.addObject("amount",amount);
}
return modelAndView;
}
und wenn result != OK
ich neue Controller
@Controller
@RequestMapping("/check")
public class CheckController {
@RequestMapping(value = "process", method = RequestMethod.GET)
public ModelAndView process(HttpServletRequest request) {
ModelAndView modelAndView = new ModelAndView("check");
String phoneNumber = request.getParameter("phone_number");
int amount = Integer.parseInt(request.getParameter("amount"));
return modelAndView;
}
}
Aber ich muss passieren Parameter mit RequestMethod.POST
und es wird nicht funktionieren umleiten. Wie geht es?
Das funktionierte für mich ... Also danke –