< Anterior | Próximo >

Lição 1.6: Criar uma Página de Atualização

Neste ponto, você criou páginas para visualizar e criar listagens para o Web site. Neste exercício, você criará uma página que permite que os usuários atualizem e excluam listagens. A página de atualização será muito semelhante à página de criação, exceto que na página de atualização os campos de entrada exibirão dados de um registro existente para que o usuário o altere.
Por Que e Quando Desempenhar Esta Tarefa

Primeiro você criará um registro relacional que representa um registro existente do banco de dados. Em seguida, você criará um formulário de atualização JavaServer Faces para esse registro relacional, e depois de algumas pequenas alterações sua página estará pronta para ser testada.

Criar o Registro Relacional de Atualização

  1. Abra o arquivo update_record.jsp dando um clique duplo nele na visualização Explorador Corporativo (Enterprise Explorer).
  2. Exclua o texto padrão Insira o conteúdo aqui (Insert content here).
  3. Na visualização Paleta (Palette), clique na gaveta Dados e Serviços (Data and Services) para expandi-la.
  4. Arraste o componente Registro Relacional SDO (SDO Relational Record) da Paleta para a área de conteúdo em branco. A janela Incluir Registro Relacional (Add Relational Record) é exibida.
  5. No campo Nome, digite update_record.
  6. Em Criar controles para (Create controls for), clique em Atualizando um registro existente (Updating an existing record).
  7. Certifique-se de que a opção Incluir controles de entrada/saída para exibir o Registro Relacional na página da Web (Add input/output controls to display the Relational Record on the web page) esteja selecionada.
  8. Clique em Avançar (Next).
  9. Na caixa Tabela, expanda W5SAMPLE e selecione ADS.
  10. Clique em Avançar (Next). A página Incluir Registro Relacional (Add Relational Record) é exibida.

Filtrar os Resultados

Um registro relacional pode mostrar somente um registro do banco de dados. Portanto, é preciso filtrar a tabela do banco de dados para que somente um registro apareça para que o usuário o edite. (Não foi necessário filtrar o banco de dados no exercício anterior porque você criou um novo registro e, portanto, não havia resultados do banco de dados para serem filtrados.) Como cada registro no banco de dados tem um número de ID exclusivo, você filtrará os resultados para aquele com um número de ID específico.
  1. A página Incluir Registro Relacional (Add Relational Record) possui uma lista de links de tarefas. Em Tarefas (Tasks), clique em Filtrar Resultados. A janela Filtros é exibida e insere a condição de filtro padrão ID = #{param.ID} na coluna Filtro (Filter). A janela Filtros é semelhante a esta:
    Janela Filtro.
    Esse código filtra os registros no banco de dados para que somente o registro com o número do ID especificado apareça no registro relacional. Você aprenderá mais sobre esta condição na seção de ação Incluir uma Linha neste exercício. Clique em Fechar (Close).
  2. Clique em Avançar (Next). A página Configurar Controles de Dados é exibida.
  3. Na seção Campos a serem exibidos (Fields to display), limpe a caixa de opções próxima a todos os nomes de campos exceto os que desejar exibir em seu formulário de entrada:
    • ID
    • CATEGORIA PRINCIPAL
    • TÍTULO
    • DESCRIÇÃO
    • PREÇO
    • FONE
  4. Clicando em Para Cima (Up) ou Para Baixo (Down), reordene os nomes dos campos de cima para baixo, da seguinte maneira:
    • ID
    • TÍTULO
    • DESCRIÇÃO
    • CATEGORIA PRINCIPAL
    • PREÇO
    • FONE
  5. No campo ID, selecione Exibir número (Display number) na lista drop-down da coluna Tipo de Controle (Control Type). Embora você queira que os usuários possam visualizar o número de ID de um registro, você não deseja que eles possam atualizá-lo. Tornar o campo ID um campo de saída ajudará a evitar o problema de IDs duplicados.
  6. Clique em Opções (Options). A janela Options é exibida. Certifique-se de que a opção Botão Submeter (Submit button) esteja selecionada. Digite Update no campo Etiqueta (Label). Clique em OK. A janela Incluir Registro Relacional (Add Relational Record) deve ser semelhante a esta:
    Janela Incluir Registro Relacional.
  7. Clique em Concluir (Finish) para gerar seu formulário de atualização na página, conforme mostrado a seguir:
    Página Formulário Atualizado.

Programando os Botões Atualizar e Excluir

Novamente, incluiremos código para encaminhar o usuário à página all_records.jsp para exibir o registro alterado com todos os outros registros.
  1. Clique com o botão direito do mouse no botão Atualizar (Update) que você acabou de criar na página da Web e selecione Propriedades (Properties).
  2. Clique em Incluir Regra (Add Rule). A janela Incluir Regra de Navegação (Add Navigation Rule) é aberta.
  3. No menu drop-down Página, selecione all_records.jsp. Na caixa Esta Regra É Utilizada por (This rule is used by), clique em Essa Ação Apenas (This action only). Certifique-se de que o campo contenha: #{pc_Update_record.doUpdate_recordUpdateAction}. Clique em OK.
  4. Repita as etapas 1-3 para editar o código da mesma maneira para o botão Excluir na página da Web. Certifique-se de que o campo Esta Regra É Utilizada por (This rule is used by) contenha: #{pc_Update_record.doUpdate_recordDeleteAction}
  5. Salve a página. Se você quiser tentar atualizar um registro do banco de dados para verificar se você retornará para a página all_records.jsp, execute new_record.jsp no servidor de testes.

Incluir uma Ação de Linha

Agora você incluirá uma ação de linha à tabela em all_records.jsp para que o usuário possa selecionar um registro do banco de dados para atualizar. #{param.ID} representa o número do ID do registro que a página de atualização irá atualizar. Quando o usuário clica em uma linha, o número de ID de registro será enviado à página update_record.jsp como o parâmetro #{param.ID}. Em seguida, o registro relacional filtrado que você acabou de inserir na página update_record.jsp exibirá somente esse registro para atualização.
  1. Na visualização Explorador Corporativo (Enterprise Explorer), dê um clique duplo no arquivo all_records.jsp para abri-lo no Editor. Clique em qualquer lugar dentro da tabela de dados. Abra a visualização Propriedades (Properties).
  2. Na visualização Propriedades (Properties), clique na guia Ações de Linha (Row Actions) em hx:dataTableEx na lista de tags HTML.
  3. Clique em Incluir uma ação executada quando uma linha é clicada (Add an action that's performed when a row is clicked). O diálogo Configurar uma Ação de Linha é exibido. Selecione Clicar na linha envia um pedido ao servidor com informações da linha enviadas como parâmetros (Clicking the row sends a request to the server with row information sent as parameters) em seguida clique em OK. Uma coluna é incluída na tabela de dados.
  4. Na visualização Propriedades (Properties), clique na guia hx:requestRowAction.
  5. Clique em Incluir Regra (Add Rule). O diálogo Incluir Regra de Navegação é exibido.
  6. No drop-down Página, selecione update_record.jsp. Na caixa Esta regra é utilizada por, clique em Esta ação apenas (This action only). O campo Esta Ação Apenas é automaticamente ocupado por #{pc_All_records.doRowAction1Action}, que foi criado ao incluir a ação da linha. Clique em OK. Se o campo não for automaticamente ocupado pelo método acima, digite o método no campo e inclua o seguinte em Recursos ClassifiedsTutorial/Java: src/pagecode/All_records.java:
    	public String doRowAction1Action() {
    				return "";}
  7. Na visualização Propriedades (Properties), clique na guia Parâmetro (Parameter) em hx:requestRowAction. Clique em Incluir Parâmetro (Add Parameter) e, em seguida, digite o ID no campo Nome. Você precisa ligar o parâmetro de ID à coluna ID. Ligar a ação de linha à coluna ID da lista de dados significa que quando a linha é clicada, o parâmetro de pedido será o ID do registro na lista.
    1. Clique em Valor (Value), em seguida, clique no botão Selecionar Objeto de Dados da Página .
    2. Na guia Objeto de Dados (Data Object), expanda all_recordlist (Objeto de Dados do Serviço) > all_recordlist (ADS) e selecione ID (java.lang.Integer).
    3. Clique em OK.
Resultados
Agora, quando o usuário clicar em uma linha, o Web site permitirá que o usuário atualize informações sobre o anúncio classificado. Salve o arquivo e teste a página, se desejar. Lembre-se de abrir all_records.jsp primeiro, porque essa é a página que faz o link para update_record.jsp.

Ponto de Verificação do Exercício

Você concluiu a Lição 1.6. Nela, você aprendeu como criar páginas da Web que atualizam registros de um banco de dados.
< Anterior | Próximo >

Feedback