Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

passThoughAttribute type="date"

Bom dia.

Como ficaria usar o passThoughAttribute "type = date" usando com o padrão feito na aula. Teitei usar junto mas diz que não é possível converter. Apaguei o código e segui em frente. Mas vou mandar como está as partes no momento caso quem responder não esteja seguindo.

<h:outputLabel value="Data movimentação:" for="dataMovimentacao" />
<h:inputText id="dataMovimentacao" value="#{movimentacaoBean.movimentacao.dataMovimentacao.time}">
        <f:convertDateTime pattern="dd/MM/yyyy" timeZone="America/Sao_Paulo" />
</h:inputText>
@Temporal(TemporalType.DATE)
private Calendar dataMovimentacao = Calendar.getInstance();
1 resposta
solução!

Olá Gustavo, tudo bem?

O atributo passThroughAttribute é usado para adicionar atributos personalizados a um componente JSF. No seu caso, você está tentando usar passThroughAttribute com o atributo type para definir o tipo de entrada como "date". No entanto, o problema ocorre porque você está usando um componente <h:inputText>, que é um componente de texto simples e não suporta o tipo "date" diretamente.

Para lidar com datas no JSF, você pode usar o componente <p:calendar> do PrimeFaces, que oferece suporte nativo para seleção de datas. Veja como ficaria o código usando <p:calendar>:

<h:outputLabel value="Data movimentação:" for="dataMovimentacao" />
<p:calendar id="dataMovimentacao" value="#{movimentacaoBean.movimentacao.dataMovimentacao.time}" pattern="dd/MM/yyyy" timeZone="America/Sao_Paulo" />

No código acima, substituímos o <h:inputText> pelo <p:calendar>. Agora você pode selecionar a data usando o calendário fornecido pelo PrimeFaces.

Lembre-se de adicionar a biblioteca do PrimeFaces ao seu projeto, se ainda não o fez.

Se você preferir continuar usando o <h:inputText> e o passThroughAttribute, uma alternativa seria usar o tipo "text" no atributo type e validar a entrada no lado do servidor, convertendo a string em uma data no formato desejado. Você pode fazer isso usando conversores personalizados ou manipulando a conversão no seu bean.