这是我的struts的配置文件:
<?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>
<include file="struts-default.xml"/>
<package name="mail-default" namespace="/" extends="struts-default">
<interceptors>
<interceptor name="session" class="com.zytc.mail.interceptor.SessionInterceptor"></interceptor>
<interceptor name="mailUser" class="com.zytc.mail.interceptor.MailUserInterceptor"></interceptor>
<interceptor-stack name="sessionStack">
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="session"></interceptor-ref>
</interceptor-stack>
<interceptor-stack name="mailUserStack">
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="mailUser"></interceptor-ref>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="defaultStack"></default-interceptor-ref>
<global-results>
<result name="relogin">/index.jsp</result>
</global-results>
</package>
<package name="mailUser" extends="mail-default" namespace="/mail">
<action name="login" class="mailLoginAction">
<interceptor-ref name="sessionStack"></interceptor-ref>
<result name="failure">/index.jsp</result>
<result name="success">/mail/main.jsp</result>
</action>
<action name="opt" class="mailOptAction">
<interceptor-ref name="mailUserStack"></interceptor-ref>
<result name="sequential">/mail/opt/sequential.jsp</result>
<result name="listMessages">/mail/opt/listMessages.jsp</result>
<result name="getAllFolders">/mail/opt/getAllFolders.jsp</result>
<result name="setAttrs">/mail/opt/setAttrs.jsp</result>
<result name="compose">/mail/opt/compose.jsp</result>
<result name="readMessage">/mail/opt/readMessage.jsp</result>
<result name="searchMessages">/mail/opt/searchMessages.jsp</result>
<result name="folderInfo">/mail/main/folderInfo.jsp</result>
<result name="mailContent">/mail/opt/mailContent.jsp</result>
<result name="fileupload">/mail/opt/upload.jsp</result>
<result name="createFolder">/mail/opt/createFolder.jsp</result>
<result name="folders">/mail/opt/folders.jsp</result>
<!--
<result name="readData">/mail/opt/readdata.jsp</result>
-->
<result name="readData" type="stream">
<param name="inputName">inputStream</param>
<param name="bufferSize">4096</param>
<param name="contentDisposition">attachment; filename="${fileName}"</param>
</result>
</action>
</package>
</struts>
提交页面有upload控件时就抱这个错误,其他页面没有这个问题,都很正常:
严重: Could not find action or result
No result defined for action com.zytc.web.action.MailOptAction and result input - action - file:/C:/Documents%20and%20Settings/losse.z/workspace/.metadata/.plugins/com.genuitec.eclipse.easie.tomcat.myeclipse/tomcat/webapps/zytcmail/WEB-INF/classes/struts.xml:29:48
at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:350)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:253)
at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:150)
at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:48)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:123)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:167)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:105)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:83)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:207)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
感觉是拦截器的upload控件好像是不兼容,求高人解答。
<?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>
<include file="struts-default.xml"/>
<package name="mail-default" namespace="/" extends="struts-default">
<interceptors>
<interceptor name="session" class="com.zytc.mail.interceptor.SessionInterceptor"></interceptor>
<interceptor name="mailUser" class="com.zytc.mail.interceptor.MailUserInterceptor"></interceptor>
<interceptor-stack name="sessionStack">
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="session"></interceptor-ref>
</interceptor-stack>
<interceptor-stack name="mailUserStack">
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="mailUser"></interceptor-ref>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="defaultStack"></default-interceptor-ref>
<global-results>
<result name="relogin">/index.jsp</result>
</global-results>
</package>
<package name="mailUser" extends="mail-default" namespace="/mail">
<action name="login" class="mailLoginAction">
<interceptor-ref name="sessionStack"></interceptor-ref>
<result name="failure">/index.jsp</result>
<result name="success">/mail/main.jsp</result>
</action>
<action name="opt" class="mailOptAction">
<interceptor-ref name="mailUserStack"></interceptor-ref>
<result name="sequential">/mail/opt/sequential.jsp</result>
<result name="listMessages">/mail/opt/listMessages.jsp</result>
<result name="getAllFolders">/mail/opt/getAllFolders.jsp</result>
<result name="setAttrs">/mail/opt/setAttrs.jsp</result>
<result name="compose">/mail/opt/compose.jsp</result>
<result name="readMessage">/mail/opt/readMessage.jsp</result>
<result name="searchMessages">/mail/opt/searchMessages.jsp</result>
<result name="folderInfo">/mail/main/folderInfo.jsp</result>
<result name="mailContent">/mail/opt/mailContent.jsp</result>
<result name="fileupload">/mail/opt/upload.jsp</result>
<result name="createFolder">/mail/opt/createFolder.jsp</result>
<result name="folders">/mail/opt/folders.jsp</result>
<!--
<result name="readData">/mail/opt/readdata.jsp</result>
-->
<result name="readData" type="stream">
<param name="inputName">inputStream</param>
<param name="bufferSize">4096</param>
<param name="contentDisposition">attachment; filename="${fileName}"</param>
</result>
</action>
</package>
</struts>
提交页面有upload控件时就抱这个错误,其他页面没有这个问题,都很正常:
严重: Could not find action or result
No result defined for action com.zytc.web.action.MailOptAction and result input - action - file:/C:/Documents%20and%20Settings/losse.z/workspace/.metadata/.plugins/com.genuitec.eclipse.easie.tomcat.myeclipse/tomcat/webapps/zytcmail/WEB-INF/classes/struts.xml:29:48
at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:350)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:253)
at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:150)
at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:48)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:123)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:167)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:105)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:83)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:207)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
感觉是拦截器的upload控件好像是不兼容,求高人解答。
解决方案 »
- 急!高分求java复杂对象到json的转换
- java Web项目中的很多jsp页面中使用了javaScript脚本,如果IE浏览器禁止了javaScript脚本,那我的web项目该怎么办?
- 为什么不能由http://localhost:8080/servlet/HelloWorld成功运行?
- 谁有上传文件bean同时上传过程中自动对上传的文件改名,并上传到指定的目录下中????
- USB接口问题 最好能用java解决 C或C#也可以
- 求图片,文件上传的例子!!!
- TOMCAT使用者请进!!
- jsp的表格中显示2不同图片结果都变成了同一幅图片,不知是哪里有问题,附代码
- 关于输出格式的问题!!!!!
- 100分问题,高手请进
- 怎么将字符串转换为java.util.Date类型啊??
- 请教struts2.0里的问题
如果进到那就是result配置的问题了
就是没有找到对应的路径
估计会显示你的那个upload控件有问题
也许是因为upload控件中与action的属性字段类型不一致
在action中那个属性字段的类型应该是java.io.File类型