我正在使用struts.xml
文件,如下所述:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.devMode" value="true" />
<constant name="struts.multipart.maxSize" value="1000000" />
<package name="helloworld" extends="struts-default">
<interceptors>
<interceptor name="myinterceptor"
class="com.struts2examples.MyInterceptor" />
<interceptor name="myinterceptor1"
class="com.struts2examples.MyInterceptor1" />
</interceptors>
<action name="hello"
class="com.struts2examples.HelloWorldAction"
method="execute">
<result name="success">/HelloWorld.jsp</result>
<result name="error">/AccessDenied.jsp</result>
<interceptor-ref name="params"/>
<interceptor-ref name="myinterceptor"/>
<interceptor-ref name="myinterceptor1"/>
</action>
<action name="hello1"
class="com.struts2examples.HelloWorldAction1"
method="execute">
<result name="success" type="freemarker">
<param name="location">/hello.fm</param>
</result>
<result name="nopassnofail" type="redirect">
<param name="location">/NewWorld.jsp</param >
</result>
<result name="error">/AccessDenied.jsp</result>
</action>
<action name="upload" class="com.struts2examples.UploadFile" method="execute">
<interceptor-ref name="fileUpload">
<param name="allowedTypes">image/jpeg,image/gif</param>
</interceptor-ref>
<result name="success">/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
</package>
</struts>
在我添加最后一个操作&#34;上传&#34;之前它正在工作。当我启动服务器时,它显示404错误。有人可以帮我解决这个问题。我觉得这个问题归因于<interceptor-ref name="fileUpload">
。
答案 0 :(得分:1)
尝试在<interceptor-ref name="fileUpload">
<interceptor-ref name="defaultStack">
之后添加。如果向动作添加显式拦截器,则defaultStack
消失。
答案 1 :(得分:1)
尝试这样写,然后再试一次
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="fileUpload">
<param name="allowedTypes">image/jpeg,image/gif</param>
</interceptor-ref>