我在我的任务中使用Struts 2-Spring框架。
我在struts 2 action class
中定义了一个bean一个拦截器,用于在执行每个操作之前检查授权。
bean用于在jsp页面上定义文本字段,单选按钮等控件。
在提交此页面控件时,控件正确地定义到已定义的操作类,但在操作类中将bean对象视为null。因此无法进行进一步的操作。
删除拦截器工作正常。
任何指针都会受到赞赏。
答案 0 :(得分:0)
我没有为struts.xml中定义的拦截器定义堆栈。
在struts.xml中定义下面的堆栈后,它可以正常工作:
<interceptors>
<interceptor-stack name="applicationStack">
<interceptor-ref name="exception"/>
<interceptor-ref name="alias"/>
<interceptor-ref name="servletConfig"/>
<interceptor-ref name="i18n"/>
<interceptor-ref name="prepare"/>
<interceptor-ref name="chain"/>
<interceptor-ref name="scopedModelDriven"/>
<interceptor-ref name="modelDriven"/>
<interceptor-ref name="fileUpload"/>
<interceptor-ref name="checkbox"/>
<interceptor-ref name="multiselect"/>
<interceptor-ref name="staticParams"/>
<interceptor-ref name="actionMappingParams"/>
<interceptor-ref name="params">
<param name="excludeParams">dojo\..*,^struts\..*</param>
</interceptor-ref>
<interceptor-ref name="conversionError"/>
<interceptor-ref name="validation">
<param name="excludeMethods">input,back,cancel,browse</param>
</interceptor-ref>
<interceptor-ref name="workflow">
<param name="excludeMethods">input,back,cancel,browse</param>
</interceptor-ref>
<interceptor-ref name="debugging"/>
<!-- User defined interceptor -->
<interceptor-ref name="contextSecurityInterceptor"/>
</interceptor-stack>