2

Struts タグを使用する必要がありますか?

<s:form action="doUpload" method="post" enctype="multipart/form-data">
    <s:file name="upload" label="File"/>
    <s:submit/>
</s:form>

Struts 2 が提供するファイル アップロード機能を利用するには?

Struts 2 タグなしで同じ機能を実現できますか? はいの場合、同じことを達成するために、規則をアクションまたは構成ファイルに組み込む必要があることを知ることができますか?

4

2 に答える 2

1

すぐに、はい、できます。その後、アクションで使用される構成と規則は同じままです。

タグを使用する場合は<form>、アクションにマップされるパスにアクション属性値を配置する必要があります。アクション マッパーがどのように機能し、パスをActionMapperインターフェイスに変換するかについての詳細。

フォーム タグに を配置する必要がありますenctype="multipart/form-data"。これにより、Struts はhttpリクエストをMultipartRequestWrapperクラスにラップし、フォーム データを解析できます。次に、fileUploadインターセプターは、paramsインターセプターがアップロードを処理するアクションにファイル プロパティを挿入するために必要なアクション コンテキストにパラメーターを追加します。

inputタグの名前は、プロパティ タイプの名前に対応している必要がありますFile。上記の両方のインターセプターで使用され、最終的にオブジェクトは OGNL を介して注入されます。

複数のファイルをアップロードする必要がある場合は、オブジェクトのコレクションを処理できるようにプロパティ タイプを変更する必要があります。この例ではそれが行われているように見えます。

于 2013-05-18T15:05:21.763 に答える