2014-11-13 2 views
0

봄 mvc에 익숙하지 않지만 사용자가 양식에 입력하는 데이터에 어떻게 액세스 할 수 있는지 알고 싶습니다.스프링 MVC 액세스 양식 데이터

내 컨트롤러 A가 양식을 반환해야하는 '모델'을 포함하는 클래스입니다

@Override 
    protected Object formBackingObject(HttpServletRequest request) throws Exception { 
     return new A(); 
    } 

:

이 몇 가지 코드 조각입니다.

내보기

<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> 
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> 

<form:form> 
     <table> 
      <tr> 
       <td><form:label path="amount">Amount:</form:label></td> 
       <td><form:input path="amount"/></td> 
       <td><form:errors path="amount"/></td> 
      </tr> 
      ... some more fields 
      <tr> 
       <td><form:label path="message">Message:</form:label></td> 
       <td><form:input path="message"/></td> 
       <td><form:errors path="message"/></td> 
      </tr> 
      <tr> 
       <td colspan=3 align=right> 
        <button type="submit">Transfer</button> 
       </td> 
      </tr> 
     </table> 
</form:form> 

Q : 어떻게 그리고 나는 데이터에 몇 가지 작업을 수행 할 수있는 내 컨트롤러에 메시지 필드를 액세스 할 수있는? (아마도 검증 후).

+0

이 [thread] [1]을 (를) 확인할 수 있습니다. 이미 이런 종류의 질문이 많이 있습니다. [1] : http://stackoverflow.com/questions/10198335/basic-spring-mvc-data-binding – Mavlarn

답변

0

Appearently, 모델은 태그의 onsubmit 방법으로 사용할 수있었습니다 :

@Override 
    protected ModelAndView onSubmit(HttpServletRequest request,HttpServletResponse response, 
     Object command, BindException errors) throws Exception { 

     ModelAndView mv = super.onSubmit(request,response,command,errors); 

     //TODO: SOME VALIDATING 

     A smth = (A)command; 
     //Do something with your object 

     return mv; 
} 
0

I 클래스 A 적절한 getter 및 setter와 속성 amountmessage을 가지고 가정합니다.

@RequestMapping("/url/for/the/form/action") 
public String formBackingObject(@ModelAttribute A a, BindingResult error) { 
    // Spring automagically creates a A object and loads it with form parameters 
    // do you stuff, call services methods 
    return "viewname"; 
} 

viewname 뷰의 이름, 또는 당신이 후 리디렉션-얻을 패턴을 사용하는 경우 "redirect:/other/url"가 될 수 있습니다처럼

컨트롤러 방법은 다음 보일 것입니다.