我在使用enctype="multipart/form-data"
属性和Primefaces <p:selectManyCheckBox>
的表单时遇到问题。这是我的代码:
<f:view xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui" xmlns="http://www.w3.org/1999/xhtml">
<h:head />
<h:body id="expiration-body">
<h:form id="new-expiration-form">
<div id="form_cargar_grupo">
<p:messages id="msgs" />
<div class="form_cargar">
<label>Resolución:</label>
<p:fileUpload value="#{expirationViewEdit.file}"
mode="simple" required="false" />
</div>
<p:selectManyCheckbox value="#{expirationViewEdit.departamentIds}">
<f:selectItem itemLabel="Option1" itemValue="TEST1" />
<f:selectItem itemLabel="Option2" itemValue="TEST2" />
</p:selectManyCheckbox>
</div>
<div class="camp_envio">
<p:commandButton value="Save" actionListener="#{expirationViewEdit.onSave}" ajax="false" />
</div>
</h:form>
</h:body>
我遇到的问题是当我选择 selectManyCheckBox 的多个选项时,在我的支持bean列表中只有一个元素,在提交表单后我看到只有一个检查框被选中(另一个未被选中)。
我发现当我删除表单的 enctype =“multipart / form-data”属性时,复选框工作正常但我需要该属性才能将文件上传到服务器。
这有什么解决方法吗?或者也许我做错了什么?
提前致谢!