spring - mvc jsp 폼 제출 서로 다른 POJO 의 같은 속성 [동명 인자]

3933 단어 spring프레임
질문
오늘 은 일상 에서 쉽게 만 나 지 못 하 는 질문 을 만 났 는데 한 친구 에 게 물 었 습 니 다!앞으로 도 나타 날 수 있 을 것 같 아서 해결 방법 을 기록 하 세 요.
양식 작성 법
"/test/samefield"method="POST" id="search">
class="col-sm-1" style="width:auto;"> type="text" class="form-control" name="query.test" value="${query.test}" placeholder=" "> type="text" class="form-control" name="testQuery.test" value="${testQuery.test}" placeholder=" "> type="submit" value=" ">

Customs Query. 자바 와 TestQuery. 자바 에서 각각 test 속성 을 정의 하 였 습 니 다.
제어 계층 표기 법
@RequestMapping("/test/samefield")
public ModelAndView index(final ModelAndView mav, @ModelAttribute("query") CustomsQuery query, 
                          @ModelAttribute("testQuery") TestQuery testQuery) {
    try {
        Page page = customsOrderService.selectPage(query);
        Map model = mav.getModel();
        model.put("testQuery", testQuery);
        model.put("query", query);
        System.out.println(query.getTest());
        System.out.println(testQuery.getTest());
    } catch (Exception e) {
        _logger.error(ExceptionUtil.getMsg(e));
    }
    mav.setViewName("/customservice/order/table");
    return mav;
}
// ①    query.          query     
@InitBinder("query")  
public void initBinder1(WebDataBinder binder){  
    binder.setFieldDefaultPrefix("query.");  
}
// ②    testQuery.          testQuery     
@InitBinder("testQuery")  
public void initBinder2(WebDataBinder binder){
    binder.setFieldDefaultPrefix("testQuery.");
} 

주의:
  • Controller 류 에 두 가지 방법 (①, ②) 을 추가 하고 지 정 된 시작 식별 자의 값 을 지 정 된 이름 의 대상
  • 에 부여 하 는 역할 을 한다.
  • @ ModelAttribute 의 인 자 는 위 에서 정의 한 @ InitBinder 의 값 과 대응 해 야 합 니 다. 그렇지 않 으 면 값 을 찾 을 수 없습니다.
  • 좋은 웹페이지 즐겨찾기