E ai pessoal,
alguém consegue me ajuda nesse converter, não estou conseguindo fazer essa conversão. Ou se tiver algum tutorial amigável que possam me passar agradeço tbm.
retorna “Produtos: Erro de validação: o valor não é válido”
<h:panelGrid columns="2" style="margin-bottom:10px" cellpadding="5"
columnClasses="label, value">
<p:outputLabel for="produtos" value="Produtos: " />
<p:selectManyMenu id="produtos"
value="#{controleCestaBasica.produtos}" filter="true"
filterMatchMode="contains" showCheckbox="true" converter="converterProduto">
<f:selectItems value="#{controleCestaBasica.produtos}" var="p"
itemLabel="#{p.nome}" itemValue="#{p.idproduto}" />
<p:column>
<h:outputText styleClass="ui-theme ui-theme-#{p.nome}" />
</p:column>
<p:column>
<h:outputText value="#{p.nome}" />
</p:column>
</p:selectManyMenu>
</h:panelGrid>
@FacesConverter("converterProduto")
public class ConverterProduto implements Converter {
public Object getAsObject(FacesContext fc, UIComponent uic, String value) {
if (value != null && value.trim().length() > 0) {
try {
ProdutoDAO pdao = new ProdutoDAO();
Produto prod = pdao.getProduto(Integer.parseInt(value));
return prod;
}
catch (Exception e) {
// TODO: handle exception
throw new ConverterException(new FacesMessage(
FacesMessage.SEVERITY_ERROR, "Erro na conversão", "Valor inválido."));
}
} else {
return null;
}
}
public String getAsString(FacesContext fc, UIComponent uic, Object object) {
if (object != null) {
String s = object.toString();
return s;
} else {
return null;
}
}