[Seasar-user:19534] Re: [SAStruts] SizeLimitExceededException 発生時のレスポンスについて
Yasuo Higa
[E-MAIL ADDRESS DELETED]
2010年 3月 23日 (火) 10:20:07 JST
ひがです。
> 田嶋です。
> いつもお世話になっております。
>
> SAStrutsのファイルアップロードにおけるSizeLimitExceededException発生時に、
> 画面が表示されなくなるというトラブルが起こり、困っております。
> 環境はSAStruts1.0.4-sp8、Tomcat6.0.20です。
>
> 原因を調査したところ、ファイルサイズ超過によるアップロードエラーが起きた場合に、
> エラーメッセージを表示する画面サイズが大きすぎると発生するようでした。
>
SAStrutsは、あまり関係ないと思いますが、
このような事象ははじめて聞きます。
> 以下に現象を再現するためのソースを記述します。
>
> アクションクラスです。
>
> public class IndexAction {
>
> @ActionForm
> @Resource
> protected UploadForm uploadForm;
>
> @Resource
> protected HttpServletRequest request;
>
> @Resource
> protected ServletContext application;
>
> @Execute(validator = false)
> public String index() {
> UploadUtil.checkSizeLimit(request);
> return "index.jsp";
> }
>
> @Execute(input = "index.jsp")
> public String upload() {
> upload(uploadForm.formFile);
> return "index.jsp";
> }
>
> protected void upload(FormFile file) {
> String path = application.getRealPath("/WEB-INF/work/" + file.getFileName());
> UploadUtil.write(path, file);
> }
> }
>
> フォームクラスです。
>
> public class UploadForm {
>
> public FormFile formFile;
>
> }
>
> JSPです。
>
> <%@page pageEncoding="UTF-8"%>
> <html>
> <head>
> <title>Tutorial: Upload</title>
> <link rel="stylesheet" type="text/css"
> href="${f:url('/css/global.css')}" />
> </head>
> <body>
> <h1>Tutorial: Upload</h1>
> <html:errors />
> <s:form enctype="multipart/form-data">
> <html:file property="formFile" />
> <br />
> <s:submit property="upload" value="アップロード" />
> </s:form>
> <c:forEach begin="0" end="10">
> 1234567890<br />
> </c:forEach>
> </body>
> </html>
>
> 私の環境だと、JSPのforEachタグのend属性の値が10の場合は、
> SizeLimitExceededExceptionが発生してもエラーメッセージが表示されるのですが、
> end属性の値が1000の場合は、SizeLimitExceededException発生後にレスポンスが返らない状態になります。
> 何かの設定でレスポンスのサイズの上限が決まっていたりするでしょうか?
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
Seasar-user メーリングリストの案内