以下信息并非原创,而是总结CSDN各大牛人所得。 最近在做一个项目时遇到了上诉问题。主要是在上传文件时。有时成功有时不成功。返回上诉错误信息,对于我来说主要是没有更改默认上传文件大小造成的。 No result defined for action action.UploadAction and result input 是Strucs2的拦截器拦截后返回的信息,遇到拦截错误Structs2会返回默认input.。并且拦截后相应的action不会得到执行。 在网上看了下资料,对于 No result defined for action action.UploadAction and result input 错误通常有一下原因: 1: 在你的action中 private File[] myFile; 2: 页面的属性和action里的属性个数、名称、类型不一致造成。 3: form表单里忘记加入:enctype="multipart/form-data" 刚刚看到一个帖子,觉得很好,顺便总结过来了。 struts.multipart.maxSize struts.multipart.maxSize 默认限制为2M,修改maximumSize为5000000,大约5M。依旧无效。 Struts.xml相关配置如下:
<action name="upload" class="action.UploadAction">
解决方法: 在struts.xml中加入 <constant name="struts.multipart.maxSize" value="10000000"/> ,大约10M 原因:maximumSize须小于 struts.multipart.maxSize,而默认值不足5M,所以修改maximumSize无效, 应先修改 struts.multipart.maxSize 另外对于实体中的file上传,刚刚在一个帖子里面看到有人说好像不支持,由于没有验证,所以现在这里mark下。如下
< form action = "resource_create" method = "post" enctype ="multipart/form-data"> 文件名称: < input name = "resource.title" type = "text" > < br > 注解: < textarea name = "resource.content" rows = "5" cols = "20" ></ textarea >< br /><%-- --%> 附件: < input type = "file" name = "resource.upFile" >< br /> 下载分数: < select name = "resource.points" > < option value = "0" label = "0" /> < option value = "1" label = "1" /> </ select > < input value = "重置" type = "reset" > < input value = "确定" type = "submit" > </ form >
|
|