1

私のstruts.xmlには、次のものがあります。

<action name="file_save" method="fileSave" class="FileActionBean">
                <interceptor-ref name="fileUpload">
                    <param name="maximumSize">
                        5242880
                    </param>
                    <param name="allowedTypes">
                        text/html
                    </param>
                </interceptor-ref>
                <interceptor-ref name="defaultStack"></interceptor-ref>
                <result name="success" type="redirect">file</result>
                <result name="error">error</result>
</action>

5MBを超えるファイルをアップロードしても、エラーはスローされません。次に、struts.xmlの上部に次のように表示されます。

<constant name="struts.multipart.maxSize" value="20971520" />

20MBを超えるファイルをアップロードすると、エラーメッセージが表示されます。これは正常な動作ですか?

もしそうなら、インターセプターにもエラーメッセージを表示するようにストラットを設定するにはどうすればよいですか?

編集1:

Struts2バージョン2.1.8.1を使用しています

4

2 に答える 2

1

私はこの投稿で同様の問題を抱えていました:

Struts 2メッセージをどのようにオーバーライドしますか?

この例に従うことで、この問題と上記の問題の両方を解決したことがわかりました。

于 2012-06-26T10:25:30.680 に答える
0

addActionError("your msg")ファイルサイズ検証コードをアクションクラスに持っていき、検証メソッドでファイルサイズをチェックし、違反している場合はjspに表示してみませんか。

<constant name="struts.multipart.maxSize" value="-1"/>

ストラットを一定にしてこれを試し、インターセプターファイルのサイズを希望のサイズに設定します。

于 2012-06-26T07:36:25.273 に答える