At line 6 changed 1 line. |
Este tutorial vai lhe mostrar como criar Actions Struts, um teste JUnit (utilizando [StrutsTestCase|http://strutstestcase.sourceforge.net/]), e um JSP para o formulário. A Action que criaremos se comunicará com o PersonManager criado no tutorial [Criando Managers|CreateManager_pt]. |
Este tutorial vai lhe mostrar como criar Actions Struts, um teste JUnit (utilizando [StrutsTestCase|http://strutstestcase.sourceforge.net/]), e um JSP para o formulário. |
A Action que criaremos se comunicará com o PersonManager criado no tutorial [Criando Managers|CreateManager_pt]. |
At line 8 changed 1 line. |
Por default, o AppFuse disponibiliza o [Struts|http://struts.apache.org] como seu framework web. Desde a versão 1.6+, podemos utilizar [Spring|http://www.springframework.org] ou [WebWork|http://opensymphony.org/webwork] como framework web. Na versão 1.7, foi adicionado suporte à utilização do [JSF|http://myfaces.apache.org] ou [Tapestry|http://jakarta.apache.org/tapestry]. |
Por default, o AppFuse disponibiliza o [Struts|http://struts.apache.org] como seu framework web. |
Desde a versão 1.6+, podemos utilizar [Spring|http://www.springframework.org] ou [WebWork|http://opensymphony.org/webwork] como framework web. |
Na versão 1.7, foi adicionado suporte à utilização do [JSF|http://myfaces.apache.org] ou [Tapestry|http://jakarta.apache.org/tapestry]. |
At line 10 changed 1 line. |
Para instalar qualquer destes frameworks web ao invés de Struts, simplesmente devemos navegar para o diretório ''extras'' e entrar no diretório do framework que desejamos instalar. O arquivo README.txt deste diretório possui instruções mais detalhadas. Os tutoriais para estes frameworks estão listados abaixo. |
Para instalar qualquer destes frameworks web ao invés de Struts, simplesmente devemos navegar para o diretório ''extras'' e entrar no diretório do framework que desejamos instalar. |
O arquivo README.txt deste diretório possui instruções mais detalhadas. |
Os tutoriais para estes frameworks estão listados abaixo. |
At line 31 changed 1 line. |
Agora vamos gerar nosso objeto PersonForm para Struts e nossa camada web. Para fazê-lo, é necessário adicionar tags XDoclet à classe Person.java para criar nosso ActionForm Struts. No JavaDoc para o arquivo Person.java, adicione as seguintes tags @struts.form (verifique o arquivo User.java se necessita de exemplos): |
Agora vamos gerar nosso objeto PersonForm para Struts e nossa camada web. |
Para fazê-lo, é necessário adicionar tags XDoclet à classe Person.java para criar nosso ActionForm Struts. No JavaDoc para o arquivo Person.java, adicione as seguintes tags @struts.form (verifique o arquivo User.java se necessita de exemplos): |
At line 349 added 1 line. |
|
At line 348 changed 1 line. |
Agora formataremos o personForm.jsp gerado. Mudaremos o atributo ''action'' do <html:form> para "savePerson" para ligar a validação quanto formos persistir. Mudaremos também o atributo ''focus'' de focus="" para focus="firstName" para o cursor estar no campo firstName quanto a página carregar (isto é feito via Javascript). |
Agora vamos "limpar" o personForm.jsp gerado. Mudaremos o atributo ''action'' do <html:form> para "savePerson" para ligar a validação quanto formos persistir. Mudaremos também o atributo ''focus'' de focus="" para focus="firstName" para o cursor estar no campo firstName quanto a página carregar (isto é feito via Javascript). |
At line 357 added 9 lines. |
Outra coisa que devemos fazer é retirar os comentários das seguintes linhas no final do arquivo personForm.jsp. Isto é porque o Validator irá disparar uma exceção caso um nome de formulário for especificado no Validator e nenhuma regra de validação existir para ele. |
|
;:''Pessoalmente, eu acho isto um [bug|http://nagoya.apache.org/bugzilla/show_bug.cgi?id=27316], mas os commiters do Struts não concordam.'' |
|
{{{<html:javascript formName="personForm" cdata="false" |
dynamicJavascript="true" staticJavascript="false"/> |
<script type="text/javascript" |
src="<html:rewrite page="/scripts/validator.jsp"/>"></script>}}} |
|
At line 469 changed 1 line. |
''Próximo:'' __Parte IV:__ [Adicionando Validação e Tela de Listagem|ValidationAndList] - Adicionando lógica de validação para o personForm para que o firstName e o lastName sejam campos obrigatórios, e adicionando uma tela de listagem para mostrar todas as tuplas de pessoas no banco de dados. |
''Próximo:'' __Parte IV:__ [Adicionando Validação e Tela de Listagem|ValidationAndList_pt] - Adicionando lógica de validação para o personForm para que o firstName e o lastName sejam campos obrigatórios, e adicionando uma tela de listagem para mostrar todas as tuplas de pessoas no banco de dados. |