복붙노트

[SPRING] Spring 3 MVC : 'commandName'바인딩없이 스프링 형식을 사용할 수 있습니까?

SPRING

Spring 3 MVC : 'commandName'바인딩없이 스프링 형식을 사용할 수 있습니까?

내 질문에, 양식에 대한 'commandName'바인딩과 입력에 대한 'path'바인딩이 필요합니까?

일련의 ajaxy 선택 상자에서 데이터를 선택해야하는 작업 흐름이 있습니다. 따라서 양식은 어떤 모델에도 직접 매핑되지 않습니다. 이 양식의 모든 내용이 아약스에 의해 주도되는 반면이 양식을 수용하기 위해 다른 모델을 추가하는 것은 다소 의미가없는 것처럼 보입니다. 이제는 항상 고전적인 양식을 작성하고 태그를 선택할 수 있다는 것을 알고 있지만 여기서는 스프링 태그를 활용하고 싶습니다.

<form:options items="${list}" itemLabel="name" itemValue="id"/>

양식 항목별로 쉽게 채울 수 있습니다. 게다가 프로젝트의 일관성을 유지하고 스프링 태그를 사용하고 싶습니다.

나는이 주제에 대한 생각과 의견을 알고 싶다.

감사!

추신 : 나는 레일 배경에 루비에서 오는 구문과 설탕을 많이 사용됩니다 : P는 어리석은 소리 또는 명백한 대답을하면 용서해.

해결법

  1. ==============================

    1.유용 할 지 모르겠지만 여기에 간다.

    유용 할 지 모르겠지만 여기에 간다.

    폼에 'commandName'을 설정하지 않으면이 속성의 기본값이 'command'로 설정됩니다. 따라서 설정하지 않으면 바인딩 된 데이터의 이름이 '명령'이됩니다.

    원하는 경우 바인딩 된 데이터의 이름으로 설정할 수 있습니다.

    ==========================================================================

    데이터 바인딩을 사용하지 않는 솔루션은 다음과 같습니다.

    컨트롤러 메서드에 HttpServletRequest 요청 매개 변수를 추가하고 서블릿처럼 매개 변수를 가져옵니다.

    @Controller 
    public class SomeController {
    
        @RequestMapping(value = "/formAction", method = RequestMethod.POST)
        public String controllerMethod(HttpServletRequest request){  
            // this way you get value of the input you want
            String pathValue1 = request.getParameter("path1");
            String pathValue2 = request.getParameter("path2");
            return "successfulView";
        }
    
    }
    

    추 신 : 'path1'과 'path2'는 입력에 설정 한 경로 이름입니다. 스프링을 적절하게 사용하지 않는 것 같지만 Spring에서 사용하도록 해킹 한 것입니다.

    양식은 다음과 같습니다.

    <form:form method="post" action="/formAction">
        <form:input path="path1" />
        <form:input path="path2" />
        <input type="submit" value="Submit"/>
    </form:form>
    

    희망 그 유용한.

  2. ==============================

    2.Spring 폼 태그에 commandName을 추가하지 않으면 예외가 IllegalStateException으로 발생합니다. 요청 매개 변수로 BindingResult 및 일반 대상 객체 "command"를 사용할 수 없습니다 ...

    Spring 폼 태그에 commandName을 추가하지 않으면 예외가 IllegalStateException으로 발생합니다. 요청 매개 변수로 BindingResult 및 일반 대상 객체 "command"를 사용할 수 없습니다 ...

  3. from https://stackoverflow.com/questions/11651769/spring-3-mvc-is-it-possible-to-have-a-spring-form-without-commandname-binding by cc-by-sa and MIT license