0

私はstruts2ファイルのアップロードを使用しており、私のアクションクラスにはゲッターとセッターを持つ3つのプライベートファイルが含まれています

private File myFile;
private String myFileFileName;
private String myFileContentType;

明確にするためにいくつかの点があります

  1. ファイルのみをパラメーターとして渡し、それをmyFileにバインドします。では、アプリケーションはどのようにしてファイル名とコンテンツ タイプを取得するのでしょうか?

  2. myFileVariableName + "FileName" (ファイル変数が myFile の場合、ファイル名変数は myFileFileName、ファイルが xxx の場合、ファイル名は xxxFileName) を使用するたびに、この形式に変更を加えると、出力が得られます (つまり,myFileVariableName + "FileName")、null になります。この形式を使用することは必須ですか? 任意の名前に変更できますか? もしそうなら、どうやって?

  3. コンテンツ タイプを取得するには、jst "contentType" または myfileVariableName + "contentType" を使用する必要があります。また、必須ですか?

  4. 別の Bean を使用してリクエスト変数を格納すると、すべてのパラメーターがその Bean 変数にバインドされると思います。ただし、ファイルのアップロードの場合、ファイル変数のみ、つまりこの例のmyFileは Bean でのみ取得および設定されます。fileFileName と contentType が null です。これらの変数をアクション クラスで直接宣言すると、値が取得されますが、別の Bean を使用する場合は常に、ファイル変数のみが取得および設定でき、他の 2 つは null です。なんで?

  5. ModelDriven を使用すると、同じケースが発生し、File 変数のみを取得でき、他の 2 つの変数は null になります。なぜ?

struts.xml で「struts-default」を拡張するだけで、ファイルのアップロード用の個別の構成はありません。質問に効果が見られないためです。

4

1 に答える 1

1
于 2013-08-30T04:38:46.113 に答える