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.
- Retorne ao editor de diagrama da Web e dê um clique duplo na página UserAdminCreate.jsp.
- Clique em Finish (Concluir) no assistente de criação.
O arquivo vazio
é aberto na área de edição.
- Exclua o texto padrão Place content here.
- Arraste o objeto EJB Session bean (Bean de Sessão EJB) da gaveta Data (Dados)
na paleta para o arquivo.
- Quando o assistente de Bean de Sessão for aberto, selecione ejb/UserFacade e clique em Next (Avançar).
- Selecione a interface create(RegistrationData data), que será utilizada para o campo de entrada na página do portlet.
- Clique em Next (Avançar).
- 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:
- data.userid
- data.name
- data.email
- Utilizando os botões de seta para cima e para baixo, mova os campos de dados selecionados na ordem mostrada na etapa acima.
- Selecione e altere o valor do Label (Etiqueta) do campo data.userid para ID do Usuário:.
- Clique no botão Options (Opções) e digite Create (Criar) no campo Label (Etiqueta). Clique em OK.
- 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:

- Selecione o botão Create (Criar) na página.
- 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.)
.
- No diálogo Add Navigation Rule (Incluir Regra de Navegação), selecione UserAdminView.jsp no quadro de listagem Page (Página).
- Selecione o botão de opções The outcome named (O Resultado Denominado) e digite view.
- Clique em OK.
- 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.
- Selecione o componente de Entrada ID do Usuário:.
- Abra a visualização Propriedades.
- Selecione a guia Validation (Validação).
- Clique na caixa de opções Value is required (Valor Obrigatório).
- 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:
- Arraste um Comando - Botão da gaveta de paleta Faces Components (Componentes Faces) e solte-o próximo ao botão Create (Criar).
- Abra a visualização Propriedades se ela ainda não estiver ativa.
- 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.
- 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";
- Salve o arquivo. Agora a página UserAdminCreate.jsp deverá ser semelhante à seguinte:

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.
- Retorne para o editor de diagrama da Web e dê um clique duplo na página UserAdminUpdate.jsp.
- Clique em Finish (Concluir) no assistente de criação.
O arquivo vazio
é aberto na área de edição.
- Exclua o texto padrão Place content here.
- Arraste o objeto EJB Session bean (Bean de Sessão EJB) da gaveta Data (Dados)
na paleta para o arquivo.
- Quando o assistente de Bean de Sessão for aberto, selecione ejb/UserFacade e clique em Next (Avançar).
- Selecione a interface update(RegistrationData data), que será utilizada para o campo de entrada na página do portlet.
- Clique em Next (Avançar).
- 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:
- data.userid
- data.name
- data.email
- Utilizando os botões de seta para cima e para baixo, mova os campos de dados selecionados na ordem mostrada na etapa acima.
- Selecione e altere o valor do Label (Etiqueta) do campo data.userid para ID do Usuário:.
- 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.
- Clique no botão Options (Opções) e digite Update no campo Label (Etiqueta). Clique em OK.
- 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:

- Selecione o botão Update (Atualizar) na página.
- 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.)
- No diálogo Add Navigation Rule (Incluir Regra de Navegação), selecione UserAdminView.jsp no quadro de listagem Page (Página).
- Selecione o botão rádio The outcome named (O Resultado Denominado) e digite view.
- Clique em OK.
- 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:
- Arraste um Comando - Botão da gaveta de paleta Faces Components (Componentes Faces) e solte-o próximo ao botão Update (Atualizar).
- Abra a visualização Propriedades se ela ainda não estiver ativa.
- 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.
- 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";
- Salve o arquivo. Agora a página UserAdminUpdate.jsp deverá ser semelhante à seguinte:

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().
- 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;
}
- 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:
- Retorne ao arquivo de Diagrama da Web para uma examinação final do diagrama da Web concluído:

Observe que cada nó Página da Web foi realizado e os links do botão Comando estão no local apropriado.
- Abra o UserAdminView.jsp.
- Arraste um componente Link da gaveta de paleta Faces Components (Componentes Faces) e solte-o próximo à tabela de dados no arquivo.
- Digite /UserAdminCreate.jsp no campo URL e Create (Criar) no campo Label (Etiqueta). Clique em OK.
- 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.
- 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.)
- No diálogo Add Navigation Rule (Incluir Regra de Navegação), selecione UserAdminUpdate.jsp da caixa de opções Page (Página).
- Selecione o botão de rádio The outcome named (O Resultado Denominado) e digite update.
- Clique em OK.
- Selecione a guia Parameter (Parâmetro) na visualização Properties (Propriedades).
- Clique no botão Add Parameter (Incluir Parâmetro).
- Digite userid no campo Name (Nome).
- 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).

- 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.
- 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";
- 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:
- Selecione o projeto AuctionPortlet no Explorador de Projetos e selecione Run (Executar) > Run on server (Executar no Servidor) em seu menu pop-up.
- 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.
- 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.
- Digite % no campo Nome e clique no botão Find (Localizar) para recuperar usuários existentes do banco de dados.

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 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.