我有一个表格,其中有:
JSP:
<form name="xyz" action="upload">
<input type="file" name="upload"/>
<input type="submit" name="submit" value="submit"/>
</form>
struts.xml
:
<action name="upload" class="uploadClass" method="saveExcel">
<result name="success">page1.jsp</result>
<result name="error">error.jsp</result>
</action>
为此它给出了一个错误:
HTTP Status 404 - No result defined for action and result input
如果我将 struts.xml
修改为:
<action name="upload" class="uploadClass" method="saveExcel">
<result name="success">page1.jsp</result>
<result name="error">error.jsp</result>
<result name="input">page1.jsp</result>
</action>
当我尝试提交表单时,页面会重新加载。
如何解决这个问题?
最佳答案
如果您要上传文件,请务必对表单使用 multipart/form-data
编码。
<form name="xyz" action="upload" enctype="multipart/form-data">
<input type="file" name="upload"/>
<input type="submit" name="submit" value="submit"/>
</form>
如果文件未编码为 multipart/form-data
并且发生文件上传错误,Struts 不会接受请求发送的文件。您可以在 JSP 中使用 s:actionerror
或 s:fielderror
标记检查哪些错误。默认消息使用 File Upload Error Messages 配置.
请注意,如果您的操作有错误并且您有默认拦截器堆栈调用 workflow
interceptor将返回INPUT
结果。它给你刷新效果。
关于jsp - HTTP 状态 404 - 没有为操作和结果输入定义结果 : adding result type input prevents submit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24952299/