SAStrutsでPOSTデータが空っぽになる

ファイルアップロードした時にPOST内容がFormBeanに反映されないのはアップロードサイズの上限に引っかかっている疑いがある。

アップロードサイズの上限はSAStrutsとTomcatと2箇所ある。

  • struts-config.xml
        <controller
           maxFileSize="50M"
           bufferSize="4096"
           processorClass="org.seasar.struts.action.S2RequestProcessor"
           multipartClass="org.seasar.struts.upload.S2MultipartRequestHandler"/>
  • server.xml
       <Connector port="8080" protocol="HTTP/1.1"
                  connectionTimeout="20000" 
                  redirectPort="8443"
                  useBodyEncodingForURI="true"
                  maxPostSize="0" />
  • SAStruts チュートリアル ファイルアップロードによると、上限超えた場合 SizeLimitExceededException がスローされますとあるがこれはスローされない(ケースもある?)僕の環境だとでなかった。POST後なぜかindex()に制御が移り、Form内容が空っぽになっていたらこれが原因。SAStruts側の初期値は2Mと、昨今の画像サイズだと通常利用でオーバーしうる値になっているので注意が必要でした。


[ 編集 | 凍結 | 差分 | 添付 | 複製 | 名前変更 | リロード ]   [ 新規 | 一覧 | 単語検索 | 最終更新 | ヘルプ ]
Last-modified: 2013-05-07 (火) 18:17:57 (1899d)