Exercício 1.4: Criando Páginas para Criar e Atualizar Informações do Usuário

Antes de iniciar, é necessário concluir o Exercício 1.3: Desenvolvendo a Página UserAdmin.

Com base no fluxo do aplicativo definido no diagrama da Web, deverá haver páginas separadas do UserAdmin para criar informações do usuário (UserAdminCreate.jsp) e atualizar informações existentes do usuário (UserAdminUpdate.jsp).

Criar a Página UserAdminCreate.jsp

Nesta parte do exercício, utilizando um bean de sessão, você criará o acesso a dados na página UserAdminCreate que permite que o administrador crie novos registros do usuário. Como um valor de ID do usuário é obrigatório para criar novos registros do usuário, esta página também incorpora a lógica de validação. Além disso, você incluirá um botão Cancelar para permitir que um usuário finalize esse processo.

  1. Retorne ao editor de diagrama da Web e dê um clique duplo na página UserAdminCreate.jsp.
  2. Clique em Finish (Concluir) no assistente de criação.

    O arquivo vazio é aberto na área de edição.

  3. Exclua o texto padrão Place content here.
  4. Arraste o objeto EJB Session bean (Bean de Sessão EJB) da gaveta Data (Dados) na paleta para o arquivo.
  5. Quando o assistente de Bean de Sessão for aberto, selecione ejb/UserFacade e clique em Next (Avançar).
  6. Selecione a interface create(RegistrationData data), que será utilizada para o campo de entrada na página do portlet.
  7. Clique em Next (Avançar).
  8. Na página Formulário de Entrada, você definirá o formulário de entrada que criará novos dados no banco de dados. Clique em None (Nenhum) para cancelar a seleção de todos os campos, para que você possa selecionar, organizar e configurar individualmente os campos apropriados para o formulário de entrada a ser utilizado na página do portlet. Depois, selecione as caixas de opções para os campos a seguir:
  9. Utilizando os botões de seta para cima e para baixo, mova os campos de dados selecionados na ordem mostrada na etapa acima.
  10. Selecione e altere o valor do Label (Etiqueta) do campo data.userid para ID do Usuário:.
  11. Clique no botão Options (Opções) e digite Create (Criar) no campo Label (Etiqueta). Clique em OK.
  12. Clique em Finish (Concluir) para gerar o formulário de entrada na página UserAdminCreate.jsp. A interface com o usuário será semelhante ao seguinte:
    UserAdminCreate.jsp com uma Tabela de Dados
  13. Selecione o botão Create (Criar) na página.
  14. Abra a visualização Propriedades se ela ainda não estiver ativa e clique no botão Add Rule (Incluir Regra). (Pode ser necessário rolar para a direita.)
    Incluir Propriedade de Regra para um Botão de Comando.
  15. No diálogo Add Navigation Rule (Incluir Regra de Navegação), selecione UserAdminView.jsp no quadro de listagem Page (Página).
  16. Selecione o botão de opções The outcome named (O Resultado Denominado) e digite view.
  17. Clique em OK.
  18. Clique na guia da visualização Quick Edit (Edição Rápida). Clique na área de edição Quick Edit (Edição Rápida) e digite "view" na cadeia de retorno:
    	return "view";

Incluir Lógica de Validação

Como o valor do ID do usuário é uma entrada obrigatória para esta página, é necessário incluir a validação para verificar o ID do usuário especificado.

  1. Selecione o componente de Entrada ID do Usuário:.
  2. Abra a visualização Propriedades.
  3. Selecione a guia Validation (Validação).
  4. Clique na caixa de opções Value is required (Valor Obrigatório).
  5. Salve o UserAdminCreate.jsp.

Não é preciso escrever nada do código necessário para executar esta parte do aplicativo. Tudo da lógica de referência EJB e do código para ligar a chamada e os resultados na interface com o usuário, será gerado.

Incluir Lógica de Cancelamento

Você também deve incluir um botão Cancelar juntamente com a ligação de navegação apropriada para página de procura:

  1. Arraste um Comando - Botão da gaveta de paleta Faces Components (Componentes Faces) e solte-o próximo ao botão Create (Criar).
  2. Abra a visualização Propriedades se ela ainda não estiver ativa.
  3. Clique na guia Display options (Opções de Exibição) no conjunto de propriedades, digite Cancelar no campo Button label (Etiqueta do Botão) e pressione Enter.
  4. Clique na guia da visualização Quick Edit (Edição Rápida). Clique na área de edição Quick Edit (Edição Rápida) e digite "view" na cadeia de retorno:
    	return "view";
  5. Salve o arquivo. Agora a página UserAdminCreate.jsp deverá ser semelhante à seguinte:
    UserAdminCreate.jsp

Criar a Página UserAdminUpdate.jsp

Nesta parte do exercício, utilizando um JavaBean, você criará um acesso a dados para atualizar as informações do usuário na página UserAdminUpdate. Além disso, você incluirá um botão Cancelar para permitir que um usuário finalize esse processo e incluirá código adicional para obter registros existentes para que possam ser atualizados nesta página.

  1. Retorne para o editor de diagrama da Web e dê um clique duplo na página UserAdminUpdate.jsp.
  2. Clique em Finish (Concluir) no assistente de criação.

    O arquivo vazio é aberto na área de edição.

  3. Exclua o texto padrão Place content here.
  4. Arraste o objeto EJB Session bean (Bean de Sessão EJB) da gaveta Data (Dados) na paleta para o arquivo.
  5. Quando o assistente de Bean de Sessão for aberto, selecione ejb/UserFacade e clique em Next (Avançar).
  6. Selecione a interface update(RegistrationData data), que será utilizada para o campo de entrada na página do portlet.
  7. Clique em Next (Avançar).
  8. Na página Formulário de Entrada, você definirá o formulário de entrada que atualizará os dados no banco de dados. Clique em None (Nenhum) para cancelar a seleção de todos os campos, para que você possa selecionar, organizar e configurar individualmente os campos apropriados para os campos de entrada a serem utilizados na página do portlet. Depois, selecione as caixas de opções para os campos a seguir:
  9. Utilizando os botões de seta para cima e para baixo, mova os campos de dados selecionados na ordem mostrada na etapa acima.
  10. Selecione e altere o valor do Label (Etiqueta) do campo data.userid para ID do Usuário:.
  11. Selecione Output Field (Campo de Saída) na lista Control Type (Tipo de Controle) para data.userid para evitar a alteração do ID quando atualizar outras informações no portlet.
  12. Clique no botão Options (Opções) e digite Update no campo Label (Etiqueta). Clique em OK.
  13. Clique em Finish (Concluir) para gerar o formulário de entrada na página UserAdminUpdate.jsp. A interface com o usuário será semelhante ao seguinte:
    UserAdminUpdate.jsp com uma Tabela de Dados
  14. Selecione o botão Update (Atualizar) na página.
  15. Abra a visualização Propriedades se ela ainda não estiver ativa e clique no botão Add Rule (Incluir Regra). (Pode ser necessário rolar para a direita.)
  16. No diálogo Add Navigation Rule (Incluir Regra de Navegação), selecione UserAdminView.jsp no quadro de listagem Page (Página).
  17. Selecione o botão rádio The outcome named (O Resultado Denominado) e digite view.
  18. Clique em OK.
  19. Clique na guia da visualização Quick Edit (Edição Rápida). Clique na área de edição Quick Edit (Edição Rápida) e digite "view" na cadeia de retorno:
    	return "view";

Não é preciso escrever nada do código necessário para executar esta parte do aplicativo. Tudo da lógica de referência EJB e do código para ligar a chamada e os resultados na interface com o usuário, será gerado.

Incluir Lógica de Cancelamento

Você também deve incluir um botão Cancelar juntamente com a ligação de navegação apropriada para página de procura:

  1. Arraste um Comando - Botão da gaveta de paleta Faces Components (Componentes Faces) e solte-o próximo ao botão Update (Atualizar).
  2. Abra a visualização Propriedades se ela ainda não estiver ativa.
  3. Clique na guia Display options (Opções de Exibição) no conjunto de propriedades, digite Cancelar no campo Button label (Etiqueta do Botão) e pressione Enter.
  4. Clique na guia da visualização Quick Edit (Edição Rápida). Clique na área de edição Quick Edit (Edição Rápida) e digite "view" na cadeia de retorno:
    	return "view";
  5. Salve o arquivo. Agora a página UserAdminUpdate.jsp deverá ser semelhante à seguinte:
    UserAdminUpdate.jsp

Incluir Código Adicional para Atualizar Registros Existentes

A lógica de atualização incluída nesta parte do exercício permite que o aplicativo obtenha registros existentes para que um usuário possa atualizá-los com esta página. O formulário é preenchido com dados relevantes, inicializando o bean de parâmetro com um método fornecido pelo UserFacade, findById().

  1. Selecione Edit Page Code (Editar Código de Página) no menu pop-up UserAdminUpdate.jsp. O código de página é o arquivo Java que contém a lógica subjacente para o UserAdminUpdate.jsp. Insira o código a seguir (a parte em negrito):
    public UserFacadeLocalUpdateParamBean getUserFacadeLocalUpdateParamBean() {
      if (userFacadeLocalUpdateParamBean == null) {
         userFacadeLocalUpdateParamBean = new UserFacadeLocalUpdateParamBean();
         Integer userid = (Integer)getSessionScope().get("userid");
       try {
         userFacadeLocalUpdateParamBean.setData(getUserFacadeLocal()
                                                 .findById(userid));
         } catch (Exception e) {
             logException(e);
         }
     }
     return userFacadeLocalUpdateParamBean;
    }
    
  2. Salve e feche o UserAdminUpdate.java.

Incluir Links para Navegação de Página

Por último, para concluir o portlet UserAdmin, você deve incluir links para fornecer navegação da página master (UserAdminView.jsp) para as páginas de detalhes (UserAdminCreate.jsp e UserAdminUpdate.jsp). Para incluir os links, siga estas etapas:

  1. Retorne ao arquivo de Diagrama da Web para uma examinação final do diagrama da Web concluído:
    Diagrama da Web Realizado
    Observe que cada nó Página da Web foi realizado e os links do botão Comando estão no local apropriado.
  2. Abra o UserAdminView.jsp.
  3. Arraste um componente Link da gaveta de paleta Faces Components (Componentes Faces) e solte-o próximo à tabela de dados no arquivo.
  4. Digite /UserAdminCreate.jsp no campo URL e Create (Criar) no campo Label (Etiqueta). Clique em OK.
  5. Arraste um componente Comando - Hyperlink da gaveta de paleta Faces Components (Componentes Faces) e solte-o no campo de saída rotulado {userid} na tabela de dados.
  6. Abra a visualização Propriedades se ela ainda não estiver ativa e clique no botão Add Rule (Incluir Regra). (Pode ser necessário rolar para a direita.)
  7. No diálogo Add Navigation Rule (Incluir Regra de Navegação), selecione UserAdminUpdate.jsp da caixa de opções Page (Página).
  8. Selecione o botão de rádio The outcome named (O Resultado Denominado) e digite update.
  9. Clique em OK.
  10. Selecione a guia Parameter (Parâmetro) na visualização Properties (Propriedades).
  11. Clique no botão Add Parameter (Incluir Parâmetro).
  12. Digite userid no campo Name (Nome).
  13. Clique na célula no campo Value (Valor) e, em seguida, clique no ícone procurar para abrir o diálogo Select Page Data Object (Selecionar Objeto de Dados da Página). Expanda userFacadeLocal > findByName(java.lang.String) > userFacadeLocalFindByNameResultBean e selecioneuserid (java.lang.Integer) no diálogo Select Page Data Object (Selecionar Objeto de Dados da Página).

    Diálogo Selecionar Objeto de Dados da Página
  14. Clique em OK.

Em seguida, você deve incluir código para armazenar o parâmetro no escopo de sessão, para que a página de atualização possa utilizar o ID do usuário para fornecer as informações do usuário no formulário de entrada da página de atualização.

  1. Clique na guia da visualização Quick Edit (Edição Rápida). Clique na área de edição Quick Edit (Edição Rápida) que criará um gabarito vazio para o código de ação associado ao botão Update (Atualizar) e digite o código a seguir:
    String userid = (String)getRequestParam().get("userid");
    getSessionScope().put("userid", new Integer(userid));
    return "update";
    
  2. Salve e feche o arquivo.

Executar o Portlet UserAdmin

Para verificar se as páginas no portlet UserAdmin estão funcionando como esperado até o momento, você deve executar o arquivo JSP no navegador interno fornecido com as ferramentas do Rational. Para executar o portlet UserAdmin, faça o seguinte:

  1. Selecione o projeto AuctionPortlet no Explorador de Projetos e selecione Run (Executar) > Run on server (Executar no Servidor) em seu menu pop-up.
  2. Como você já definiu o ambiente de teste do WebSphere Portal v5.1, selecione-o e clique em Finish (Concluir) no assistente de Seleção de Servidor.
  3. O arquivo será exibido eventualmente no navegador. Aqui, você poderá ver os campos de entrada, links e o layout que um usuário visualizaria em um site de portal.
  4. Digite % no campo Nome e clique no botão Find (Localizar) para recuperar usuários existentes do banco de dados.

    Executar portlets criados recentemente

Observe que ao pressionar o link Create (Criar) ou selecionar um usuário na tabela de dados, as páginas UserAdminCreate ou UserAdminUpdate se abrem respectivamente. Se você fornecer valores nessas páginas e clicar no botão Create (Criar) ou Update (Atualizar), as inclusões e atualizações serão aceitas. Os dados atualizados devem ser refletidos imediatamente na página UserAdminView. Se o nome da procura corresponder ao nome do usuário criado (por exemplo, você pode utilizar um caractere curinga % para recuperar todos os usuários), o novo usuário deverá ser exibido quando você retornar da página de criação.

Antes de avançarmos para o próximo exercício, pare o servidor de ambiente de teste. Para parar o servidor de ambiente de teste, basta selecioná-lo em visualizar Servidores e clicar no botão na barra de ferramentas Parar servidorParar servidor.

Agora você está pronto para começar o Exercício 1.5: Incluindo Portlets que Procuram Listagens do Site de Leilão e Fornecem Detalhes da Listagem.

Feedback
(C) Copyright IBM Corporation 2000, 2005. Todos os Direitos Reservados.