struts2中限制上传文件大小后错误信息的显示

设置struts.multipart.maxSize=1024;当上传文件大于1k时后台报错,但是怎么在前台页面中显示错误信息呢??... 设置struts.multipart.maxSize=1024;
当上传文件大于1k时后台报错,但是怎么在前台页面中显示错误信息呢??
展开
 我来答
禄材q5
2011-09-21 · TA获得超过2.5万个赞
知道大有可为答主
回答量:2.1万
采纳率:0%
帮助的人:1.2亿
展开全部
Struts2本身提供了一个文件上传的拦截器,通过配置该拦截器可以更轻松地实现文件过滤。我们只需要在Action中配置该拦截器就可以了。当文件过滤失败后,会自动转向input逻辑视图,因此必须为该Action配置名为input的逻辑视图,除此之外还必须为配置defaultStack的拦截器的引用。配置文件如下:

<action name="upload" class="com.annlee.upload.UploadAction" >
<!-- 配置fileUpload的拦截器 -->
<interceptor-ref name="fileUpload">
<!-- 配置允许上传的文件类型 -->
<param name="allowedTypes">image/bmp,image/gif,image/jpg</param>
<!-- 配置允许上传的文件大小 -->
<param name="maximumSize">2000000</param>
</interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>

<param name="savePath">/</param>
<result>/common/succ.jsp</result>
<result name="input">/cos_fileupload/fileupload.jsp</result>
</action>

如果上传失败系统会返回到原来的页面,要在原来的页面上加上以下错误提示代码:

<s:fielderror />这样系统就会返回提示给用户,但是这时的提示是Struts2自带的提示,非常不友好,我们可以国际化资源里配置以下两项,我们的提示就会自动替换Struts2的提示,提示的关键字如下

struts.messages.error.file.too.large

struts.messages.error.content.type.not.allowed

此外,如果用户上传失败的原因不是因为以上两种还有另外的一个信息提示用户,它的关健字是:struts.messages.error.uploading,我们也应该替换这个提示信息。

其它说明:如果没有指定临时的保存文件夹,系统就会使用javax.servlet.context.tempdir路径,这个路径是Tomcat的work\Catalina\localhost\,我们应该设置自己的路径,这个配置的属性为struts.multipart.saveDir可以在struts.properties中配置,还有一个文件上传的属性:struts.multipart.maxSize设置整个表单请求内容的最大字节数。
NBandNB
2011-09-20 · TA获得超过142个赞
知道答主
回答量:113
采纳率:0%
帮助的人:71万
展开全部
直接return 回你要返回的页面并塞个状态过去用于区分错误,在你的页面上用脚本代码接受状态值在进行判断弹出相应的提示即可。
<%
if(state=="sizeError"){
%>
alert("附件大小超过……");
<%}else if(……){
%>
alert("………………");
<%
}
%>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kawnj19890209
2011-09-20 · 超过14用户采纳过TA的回答
知道答主
回答量:41
采纳率:0%
帮助的人:24.5万
展开全部
ActionMessages errors = new ActionMessages();
errors.add("loginfailure",new ActionMessage("错误操作"),false);
saveErrors(request,errors);
return mapping.getInputForward();

<html:errors property="loginfailure"/>
可以用这个进行错误显示、如果不刷新显示的话、那就要用Ajax百度找找吧、
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式