2014-10-03 2 views
2

메서드에서 return redirect을 사용하면 spring에서 get params와 같은 모델 변수를 자동으로 추가합니다. 여기 솔루션 Spring MVC Controller: Redirect without parameters being added to my url스프링 자동으로 url에 모델 매개 변수 추가

을 발견했지만 봄-MVC-4.0.xsd를 업그레이드 할 때 불행히도, 3.2

또한

내가 찾은

다음 스프링을 작동하지 않습니다 enableMatrixVariables 및 ignoreDefaultModelOnRedirect를 각각 enable-matrix-variables 및 ignore-default-model-on-redirect 으로 대체해야합니다.

그러나이 값을 mvc-dispatcher.xml에 추가하면 IDE에서 해당 속성이 허용되지 않는다고 말합니다.

에 대한 모든 솔루션 Spring 3.2?

+1

질문은 무엇입니까? –

+1

정확히 무엇을 시도 했습니까? 'ignore-default-model-on-redirect '는 실제로 사용해야하는 것입니다. –

+0

Spring 3.2에서는 실제로 ignoreDefaultModelOnRedirect를 사용해야하는 것으로 보입니다. –

답변

1

당신은 리디렉션하기 전에 모델을 지울 수 있습니다 :

@RequestMapping(...) 
public String doSomething(Model model, ...) 
{ 
    // .... 
    model.asMap().clear(); 
    return "redirect:list"; 
} 

당신이있어 다른 솔루션을 볼 수

Spring 3.0 MVC :Redirect without parameters being added to my url

+0

내가 지울 수없는 데이터를지도에 저장합니다. – user3127896

+0

죄송합니다. 모델 속성을 리디렉션 URL에 전달하고 싶지 않다는 것을 이해했습니다. 당신이 시도한 것에 대해, 당신이 얻는 것과 당신이 원하는 것에 대해 좀 더 구체적으로 표현할 수 있습니까? –

0

이 나를 위해 일했다. 이 없으면 모델 데이터를 url 매개 변수에 첨부 할 수 있습니다.

@RequestMapping("save/") 
public View doSave(...) 
{ 
    ... 
    RedirectView redirect = new RedirectView("/success"); 
    redirect.setExposeModelAttributes(false); 
    return redirect; 
} 

덕분에 reallynic's comment.

2

당신이 당신의 WebMvcConfigurerAdapter 자식 클래스에 다음을 추가 자바 구성을 사용하는 경우 :

@Autowired 
private RequestMappingHandlerAdapter requestMappingHandlerAdapter; 

@PostConstruct 
public void init() { 
    requestMappingHandlerAdapter.setIgnoreDefaultModelOnRedirect(true); 
} 
관련 문제