2
respostas

Continuação e integração!

Opa beleza? terminei os curso de jsf e o CDI e o maven também qual mais integração seria interessante em usar com o java? tava fazendo o do jasper, mais o jasper pra mim nem abre, o nico ta vendo isso pra mim. E tenho uma outra duvida também que quando usa o meu componente do prime o calendar ele me mostra no ano de 2020 :( que loucura.

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://xmlns.jcp.org/jsf/html"
    xmlns:f="http://xmlns.jcp.org/jsf/core"
    xmlns:p="http://primefaces.org/ui">
<h:head>
    <script type="text/javascript">
        PrimeFaces.locales['pt_BR'] = {
            closeText : 'Fechar',
            prevText : 'Anterior',
            nextText : 'Próximo',
            currentText : 'Começo',
            monthNames : [ 'Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio',
                    'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro',
                    'Novembro', 'Dezembro' ],
            monthNamesShort : [ 'Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun',
                    'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez' ],
            dayNames : [ 'Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta',
                    'Sexta', 'Sábado' ],
            dayNamesShort : [ 'Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sáb' ],
            dayNamesMin : [ 'D', 'S', 'T', 'Q', 'Q', 'S', 'S' ],
            weekHeader : 'Semana',
            firstDay : 1,
            isRTL : false,
            showMonthAfterYear : false,
            yearSuffix : '',
            timeOnlyTitle : 'Só Horas',
            timeText : 'Tempo',
            hourText : 'Hora',
            minuteText : 'Minuto',
            secondText : 'Segundo',
            currentText : 'Data Atual',
            ampm : false,
            month : 'Mês',
            week : 'Semana',
            day : 'Dia',
            allDayText : 'Todo Dia'
        };
    </script>
</h:head>

<h:body>
    <h:form>
        <p:calendar id="calendario" value="#{dataBean.data.time}">
            <f:convertDateTime pattern="dd/MM/yyyy" timeZone="America/Sao_Paulo"/>
        </p:calendar>
        <p:inputText id="calen"/>
        <p:commandButton value="data" update="calen"/>    
    </h:form>
</h:body>
</html>

@SuppressWarnings("serial")
@Named
@ViewScoped
public class DataBean implements Serializable{

    @Temporal(TemporalType.DATE)
    private Calendar data = Calendar.getInstance();

    public Calendar getData() {
        return data;
    }

    public void setData(Calendar data) {
        this.data = data;
    }


}

Já estou instanciando o minha variavel data com o getInstance, esse getInstance não tras a hora e dia atual?

2 respostas

Olá Alisson,

Tente alterar a declaração do calendar de:

 <p:calendar id="calendario" value="#{dataBean.data.time}">
            <f:convertDateTime pattern="dd/MM/yyyy" timeZone="America/Sao_Paulo"/>
        </p:calendar>

Para:

 <p:calendar id="calendario" value="#{dataBean.data.time}" pattern="dd/MM/yyyy" />

Sobre como dar continuidade, tenho duas recomendações:

Como você já conhece o JSF que é um framework mvc component based, sugiro que você aprenda também frameworks mvc action based como Spring e VRaptor.

Outra sugestão é o curso de JavaEE que você pode aproveitar o conhecimento de JSF, CDI, JPA. E assim ver que utilizando o servidor de aplicação fica mais fácil ainda utilizar essas tecnologias pois ele gerencia tudo para você.

Espero ter ajudado e bons estudos.

Opa desculpa a demora. Fiz a alteração e ainda fico como 2020 meu calendar.

<p:calendar value="#{funcionarioBean.funcinario.dataContrada.time}"
                        id="data">
                        <f:convertDateTime pattern="dd/MM/yyyy" />
                    </p:calendar>