jsp - HTTP 状态 404 - 没有为操作和结果输入定义结果 : adding result type input prevents submit

标签 jsp file-upload struts2 struts actionresult

我有一个表格,其中有:

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:actionerrors:fielderror 标记检查哪些错误。默认消息使用 File Upload Error Messages 配置.

请注意,如果您的操作有错误并且您有默认拦截器堆栈调用 workflow interceptor将返回INPUT结果。它给你刷新效果。

关于jsp - HTTP 状态 404 - 没有为操作和结果输入定义结果 : adding result type input prevents submit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24952299/

相关文章:

java - 如何在选择时预先选择一个选项 (Struts 2)

java - 'pure' MVC 实现有多有用?

java - Struts 2 文本字段中的运行时值填充

php - SignatureDoesNotMatch - Amazon S3 API

python - 使用 Flask 处理大文件上传

django - 文件上传在 Django 中使用 modelform 给出错误请求

java - 如何使用 Struts 2 在 jsp 中获取操作 url

java - 使用来自 JavaBean 的数据填充 JSP 页面中的复选框

java - 如何在Spring MVC应用程序中将CSS文件与JSP View 连接起来?

java - 用 HashMap 显示标签