Loading ...
Sorry, an error occurred while loading the content.
 

Re: [riojug] Visual WEB JSF NetBeans

Expand Messages
  • Bruno Pacheco Lopes da Silva
    Tenta clicar com o botão direito do mouse sobre o componente da página que você quer fazer o binding e em seguida clica em Add Binding Attribute . Quanto
    Message 1 of 6 , Sep 9, 2008
      Tenta clicar com o botão direito do mouse sobre o componente da página que você quer fazer o binding e em seguida clica em "Add Binding Attribute". Quanto as perguntas, como não tenho certeza das respostas, peço que alguém mais capacitado responda, mas creio que o binding já faz essa ligação entre o form e seu respectivo backbean, como você chama, e vice-versa, só não sei como isso funciona exatamente.

      Bruno Pacheco - Rio de Janeiro - BR

      --- On Tue, 9/9/08, Jean Michel - MCA4 - TI - BRR <jean.michel@...> wrote:
      From: Jean Michel - MCA4 - TI - BRR <jean.michel@...>
      Subject: [riojug] Visual WEB JSF NetBeans
      To:
      Date: Tuesday, September 9, 2008, 8:54 PM

      Boa tarde a todos.

      Quando desenvolvi usando JSF usava o Eclipse+MyFaces e gerava o código
      TODO na mão, nunca mais tive contato com JSF e agora tenho que usa-lo
      novamente.

      Baixei o NetBeans 6.1 e estou tentando usar o Visual JSF na tentativa de
      agilizar as coisas.

      Criei uma página JSF, ele cria a página JSP + a classe (que será o
      backbean).
      Depois de desenhar o form na classe como eu vou recuperar os valores
      deles em minhas ações?
      Por exemplo, o submit vai ter uma ação qqr que recupera os dados do form
      e passa para a facade responsável pelo resto.

      Fui "googlear" e vi que teria que fazer na mão o binding campo a
      campo... mas não to entendendo como vai "aparecer" no meu backbean as
      propriedades do formulário para que eu possa usar. O binding não se
      trata de "linkar" um campo a um objeto provider qualquer? E o que liga o
      form ao backbean?

      Qqr luz agradeço.


    • Bruno Luiz Pereira da Silva
      Você precisa associar os componente do formulário a atributos de um backing bean que você tenha declarado no faces-config. Na sua página você pode ter o
      Message 2 of 6 , Sep 9, 2008
        Você precisa associar os componente do formulário a atributos de um "backing bean" que você tenha declarado no faces-config.

        Na sua página você pode ter o seguinte trecho:

        <h:outputText value="#{editarServicoController.servico.id}" rendered="#{editarServicoController.exibirId}" />

        <h:outputText value="Nome:*" />
        <h:inputText value="#{editarServicoController.servico.nome}" maxlength="70" styleClass="campo_texto_largo" required="true" requiredMessage="O nome do serviço é obrigatório" >
           <f:validator validatorId="textValidator" />
        </h:inputText>

        <h:outputText value="Url:" />
        <h:inputText value="#{editarServicoController.servico.url}" maxlength="4000" styleClass="campo_texto_largo" />

        <h:outputText value="Template:" />
        <h:selectOneMenu value="#{editarServicoController.servico.configuracaoVisual.template}">
            <f:selectItems value="#{editarServicoController.listaTemplates}" />
        </h:selectOneMenu>

        Você pode ver que há vários componentes referenciando o "editarServicoController", com vários atributos do mesmo. Essas declarações da página estão associando cada componente a um atributo ou método específico.

        O "editarServicoController" está declarado como:

        <managed-bean>
          <managed-bean-name>editarServicoController</managed-bean-name>
          <managed-bean-class>com.globo.caduniiadmin.servico.controlador.EditarServicoControlador</managed-bean-class>
          <managed-bean-scope>session</managed-bean-scope>
        </managed-bean>

        Isto faz com que esteja disponível na aplicação um atributo de sessão com a chave "editarServicoController".
        No trecho de markup acima, foram referenciados "editarServicoController.servico" (com vários atributos deste) e também "editarServicoController.listaTemplates".

        Neste exemplo, a classe EditarServicoControlador contém um atributo chamado "servico", que é uma classe com vários atributos associados ao formulário. Além disso, a classe EditarServicoControlador tem um método chamado getListaTemplates, que é também utilizado no formulário.

        No final deste formulário há um botão de submit declarado como:

        <h:commandButton value="Salvar" action="#{editarServicoController.salvarServico}" style="text-align: center"/>

        Isto faz com que o método salvarServico() seja invocado no submit do formulário. Quando você faz o submit, todos os atributos que foram associados a algum componente do formulário estão com os valores disponíveis, já convertidos para as classes de destino. Aí você pode manipular os dados da forma que for necessária e continuar com a próxima ação que for adequada.

        --
        Atenciosamente,

        Bruno Luiz Pereira da Silva
        blpsilva@...
        http://brunopereira.org


        2008/9/9 Jean Michel - MCA4 - TI - BRR <jean.michel@...>

        Boa tarde a todos.

        Quando desenvolvi usando JSF usava o Eclipse+MyFaces e gerava o código
        TODO na mão, nunca mais tive contato com JSF e agora tenho que usa-lo
        novamente.

        Baixei o NetBeans 6.1 e estou tentando usar o Visual JSF na tentativa de
        agilizar as coisas.

        Criei uma página JSF, ele cria a página JSP + a classe (que será o
        backbean).
        Depois de desenhar o form na classe como eu vou recuperar os valores
        deles em minhas ações?
        Por exemplo, o submit vai ter uma ação qqr que recupera os dados do form
        e passa para a facade responsável pelo resto.

        Fui "googlear" e vi que teria que fazer na mão o binding campo a
        campo... mas não to entendendo como vai "aparecer" no meu backbean as
        propriedades do formulário para que eu possa usar. O binding não se
        trata de "linkar" um campo a um objeto provider qualquer? E o que liga o
        form ao backbean?

        Qqr luz agradeço.

      • Andre Luiz M Costa
        No site do Netbeans há excelentes tutoriais sobre Visual JSF. Acesse http://www.netbeans.org/kb/trails/web.html Andre Luiz M Costa Java Developer-Fapes/Bndes
        Message 3 of 6 , Sep 10, 2008
          No site do Netbeans há excelentes tutoriais sobre Visual JSF.

          Acesse http://www.netbeans.org/kb/trails/web.html

          Andre Luiz M Costa
          Java Developer-Fapes/Bndes

          2008/9/9 Jean Michel - MCA4 - TI - BRR <jean.michel@...>

          Boa tarde a todos.

          Quando desenvolvi usando JSF usava o Eclipse+MyFaces e gerava o código
          TODO na mão, nunca mais tive contato com JSF e agora tenho que usa-lo
          novamente.

          Baixei o NetBeans 6.1 e estou tentando usar o Visual JSF na tentativa de
          agilizar as coisas.

          Criei uma página JSF, ele cria a página JSP + a classe (que será o
          backbean).
          Depois de desenhar o form na classe como eu vou recuperar os valores
          deles em minhas ações?
          Por exemplo, o submit vai ter uma ação qqr que recupera os dados do form
          e passa para a facade responsável pelo resto.

          Fui "googlear" e vi que teria que fazer na mão o binding campo a
          campo... mas não to entendendo como vai "aparecer" no meu backbean as
          propriedades do formulário para que eu possa usar. O binding não se
          trata de "linkar" um campo a um objeto provider qualquer? E o que liga o
          form ao backbean?

          Qqr luz agradeço.




          --
          Andre Luiz M Costa
        • Jean Michel - MCA4 - TI - BRR
          Eu estava fazendo confusão, consegui fazer a classe ver os campos do form ;) Valeu a dica pessoal. Aproveitando a deixa, eu tenho uma ação que returna
          Message 4 of 6 , Sep 10, 2008
            Eu estava fazendo confusão, consegui fazer a classe "ver" os campos do
            form ;)
            Valeu a dica pessoal.

            Aproveitando a deixa, eu tenho uma ação que returna sucess, e está
            mapeada assim:


            <managed-bean>
            <managed-bean-name>backbeans$RegisterEventBack</managed-bean-name>

            <managed-bean-class>diaryweb.backbeans.RegisterEventBack</managed-bean-class>
            <managed-bean-scope>request</managed-bean-scope>
            </managed-bean>
            <navigation-rule>
            <from-view-id>/backbeans/RegisterEventBack.jsp</from-view-id>
            <navigation-case>
            <from-outcome>sucess</from-outcome>
            <to-view-id>/home.jsp</to-view-id>
            </navigation-case>
            </navigation-rule>

            Porém a URL depois do sucess fica:
            http://localhost:8080/diary/backbeans/RegisterEventBack.jsf
            Ou seja, a página do cadastro, e com isso o CSS da home fica todo
            quebrado... tem como redirecionar o cara?

            Vlw.
          Your message has been successfully submitted and would be delivered to recipients shortly.