Spring MVC에서 웹 애플리케이션을 개발 중이다. 나는 사용자가 양식을 추가했습니다. 고객과 직원의 두 가지 유형의 사용자가 있습니다. 라디오 버튼을 사용하여 사용자 유형이 선택됩니다. 선택한 사용자 유형에 따라 양식의 채워진 데이터를 데이터베이스의 두 테이블로 보내려고합니다. 아무도 내가 선택한 라디오 버튼을 확인하고 그에 따라 필요한 쿼리를 실행하는 방법을 안내 할 수 있습니다. 다음 내 두 개의 라디오 버튼 JSP를 Spring MVC에서 라디오 버튼 선택 값을 얻는 방법
<label class="radio-inline">
<input type="radio" name="customer" id="customer" value="customer" checked="checked"/>Customer
</label>
<label class="radio-inline">
<input type="radio" name="staff" id="staff" value="staff"/>Staff Member
</label>
하여 양식의 제출에 대한 내 컨트롤러 방법입니다 다음
입니다. @RequestParam annotation을 사용하여 컨트롤러에 두 개의 라디오 버튼을 가져갔습니다. 이 컨트롤러 메서드 내에서 어떤 라디오 버튼이 선택되었는지 확인할 수 있다면 각 시나리오에 대해 관련 함수를 실행할 수 있습니다.<label class="radio-inline">
<input type="radio" name="radioName" id="customer" value="customer" checked="checked"/>Customer
</label>
<label class="radio-inline">
<input type="radio" name="radioName" id="staff" value="staff"/>Staff Member
</label>
이 효율적으로 활용하려면 다음 작업을 사람이 M. Deinum이 코멘트에 언급 한 것처럼 당신이 가진 모든
@RequestMapping(value="/addCustomer",method = RequestMethod.POST)
public ModelAndView saveOrUpdate(@ModelAttribute("newUser") User newUser,@RequestParam("customer") String customer,
@RequestParam("staff") String staff,BindingResult validationResult) throws SQLIntegrityConstraintViolationException {
if (validationResult.hasErrors()) {
new ModelAndView("userAdd", "command", newUser);
}
if(staff selected){
boolean usernameUnique=staffRepository.checkUsernameUnique(newUser);
if(usernameUnique) {
int i = staffRepository.add(newUser);
if (i == 0)
return new ModelAndView(new RedirectView("stangeFailurePage"));
else {
return new ModelAndView(new RedirectView("successPage"));
}
}else{
validationResult.rejectValue("username", "error.username.exists", "The username is already in use.");
new ModelAndView("userAdd", "command", newUser);
}
}
if(customer selected){
// do whatever related to that
}
return new ModelAndView(new RedirectView("add"));
}
잘못된 방법으로 라디오 버튼을 사용하고 있습니다. 그것들은 같은 이름을 가져야하며, 결국 이것은 백엔드에 보내는 매개 변수의 이름입니다. 그 방법은 또한 실제 라디오 버튼입니다. –