[Struts2]Filed드리븐 or Model드리븐을 통해 parameter값이 set이 안되는경우

Jakarta 2007. 12. 10. 14:07
struts2.0에선
view단의 parameter를 자동으로 실행대상 Action클래스의 멤버영역에 set해주는
Field Driven, Model Driven 방식을  제공한다. (아주 유용하다!)
 
간혹 전혀 이상이 없는데도 Action클래스의 멤버에 set이 안되는경우가 발생된다.
(request.getParameter()로 확인시에는 정상적으로 넘어온다.)
 
log4j에서 com.opensymphony.xwork2패키지를 debug로 설정하고 콘솔을 확인해 보면
정상적인경우 com.opensymphony.xwork2.interceptor.ParametersInterceptor 요 인터셉터를 실행하는데
set이 안되는 경우는 com.opensymphony.xwork2.interceptor.ParametersInterceptor가 실행이 안되는것을
확인 할 수 있다.
 
이유야 여러가지가 있겠지만,
일반적으로 겪을 수 있는 문제는 실행대상 action에 특정 interceptor를 단독적으로 설정한경우
기본적인 인터셉터를 수행하지 못해서 발생되는것이며,
 
인터셉터를 특정action에 적용하고 싶은경우 인터셉를 단독으로 적용하지 말고,
해당 인터셉터를 포함하고 기본package를 상속받아 구현한 interceptor-stack를 구성하고,
요 interceptor-stack를 해당 action에 걸어주면 이상없이 작동한다.

설정

트랙백

댓글