第一次使用Struts2.3.20,前台页面向后台传值,怎么总是提示值为null,查找半天原来是struts配置文件的action中忘记引入defaultStack拦截器了,所以即使Action中万事(封装参数的getter和setter)俱备,还是无法达到预期效果。
使用自定义的拦截器配置在struts配置文件的action中,还要引入defaultStack,否则使用了modelDriven的formBean将不能获取到form表单中字段的值。
<package name="defaults" extends="json-default"> <interceptors> <interceptor name="methodInterceptor" class="methodInterceptor"></interceptor> <interceptor name="loginInterceptor" class="loginInterceptor"></interceptor> <interceptor-stack name="loginStack"> <interceptor-ref name="methodInterceptor"></interceptor-ref> <interceptor-ref name="loginInterceptor"></interceptor-ref> <interceptor-ref name="defaultStack"></interceptor-ref> </interceptor-stack> </interceptors> <global-results> <result name="error" type="redirect">/405.jsp</result> <result name="toIndex" type="redirect">index</result> <result name="toLogin" type="redirect">login</result> </global-results> </package>