Repare também que as actions editarCliente e excluirCliente são ligeiramente diferentes: elas precisam carregar os dados do cliente para exibi-los na tela.
Para isto, existe as linhas na definição da ListaClientesAction:
<result name="editar" type="redirectAction"> <param name="actionName">editarCliente</param> <param name="location">/EditarCliente.jsp</param> <param name="id">${id}</param> <param name="comando">Carregar</param> </result> <result name="excluir" type="redirectAction"> <param name="actionName">excluirCliente</param> <param name="location">/ExcluirCliente.jsp</param> <param name="id">${id}</param> <param name="comando">Carregar</param> </result>
Isto instrui as actions editarCliente e excluirCliente a terem seu atributo “comando” pré-carregado com a string “Carregar”. Desta forma, ao chamar EditarClienteAction.execute, por exemplo, poderemos checar o valor do atributo “comando” para sabermos se devemos carregar ou salvar o cliente. Podemos ver melhor isto no código das actions editarCliente e excluirCliente. Clique nos links a seguir.
Agora basta lançar a aplicação e verificar se está tudo funcionando como previsto! Teste algumas entradas de dados e edições. Busque verificar se o programa aceita qualquer tipo de entrada e tente corrigir eventuais erros. É um excelente ponto de partida para qualquer aplicação web, portanto pode alterá-la à vontade!