- Revision
- 148
- Author
- gas
- Date
- 2007-06-10 16:52:22 -0500 (Sun, 10 Jun 2007)
Log Message
first version of taglib documentation
Modified Paths
Added Paths
- trunk/distribution/src/site/apt/taglib/
- trunk/distribution/src/site/apt/taglib/button.apt
- trunk/distribution/src/site/apt/taglib/index.apt
- trunk/distribution/src/site/apt/taglib/text.apt
- trunk/distribution/src/site/pt/
- trunk/distribution/src/site/pt/apt/
- trunk/distribution/src/site/pt/apt/taglib/
- trunk/distribution/src/site/pt/apt/taglib/form/
- trunk/distribution/src/site/pt/apt/taglib/form/basic.apt
- trunk/distribution/src/site/pt/apt/taglib/form/button.apt
- trunk/distribution/src/site/pt/apt/taglib/form/checkbox.apt
- trunk/distribution/src/site/pt/apt/taglib/form/date.apt
- trunk/distribution/src/site/pt/apt/taglib/form/errors.apt
- trunk/distribution/src/site/pt/apt/taglib/form/file.apt
- trunk/distribution/src/site/pt/apt/taglib/form/form.apt
- trunk/distribution/src/site/pt/apt/taglib/form/hidden.apt
- trunk/distribution/src/site/pt/apt/taglib/form/img.apt
- trunk/distribution/src/site/pt/apt/taglib/form/password.apt
- trunk/distribution/src/site/pt/apt/taglib/form/reset.apt
- trunk/distribution/src/site/pt/apt/taglib/form/row.apt
- trunk/distribution/src/site/pt/apt/taglib/form/select.apt
- trunk/distribution/src/site/pt/apt/taglib/form/submit.apt
- trunk/distribution/src/site/pt/apt/taglib/form/text.apt
- trunk/distribution/src/site/pt/apt/taglib/form/textarea.apt
- trunk/distribution/src/site/pt/apt/taglib/form/time.apt
- trunk/distribution/src/site/pt/apt/taglib/index.apt
- trunk/distribution/src/site/site_pt.xml
Diff
Modified: trunk/distribution/src/assembly/assembly-blankproject.xml (147 => 148)
--- trunk/distribution/src/assembly/assembly-blankproject.xml 2007-06-07 22:49:47 UTC (rev 147) +++ trunk/distribution/src/assembly/assembly-blankproject.xml 2007-06-10 21:52:22 UTC (rev 148) @@ -14,9 +14,6 @@ <outputDirectory>webapp/WEB-INF/lib</outputDirectory> <unpack>false</unpack> <scope>runtime</scope> - <excludes> - <exclude>org.codehaus.waffle:blankproject</exclude> - </excludes> </dependencySet> </dependencySets> </assembly>
Added: trunk/distribution/src/site/apt/taglib/button.apt (0 => 148)
--- trunk/distribution/src/site/apt/taglib/button.apt (rev 0) +++ trunk/distribution/src/site/apt/taglib/button.apt 2007-06-10 21:52:22 UTC (rev 148) @@ -0,0 +1,15 @@ +Button + + In order to create a form button, use the tag <w:button>. Its caption is the internationalized <value> attribute + +Example + ++-------------------- +<w:button value="execute" ++-------------------- + + And add to your i18n file: + ++-------------------- +execute = Execute this button ++--------------------
Added: trunk/distribution/src/site/apt/taglib/index.apt (0 => 148)
--- trunk/distribution/src/site/apt/taglib/index.apt (rev 0) +++ trunk/distribution/src/site/apt/taglib/index.apt 2007-06-10 21:52:22 UTC (rev 148) @@ -0,0 +1,55 @@ +Introduction + + Waffle taglib is a sample library which aimed at making it easier to create custom forms using the JSP technology. + The most important step it to declare the taglib itself in your jsp file: + ++------------ +<%@ taglib uri="http://waffle.codehaus.org" prefix="w" %> ++------------ + +Basic usage + + The following example shows how to create a form inside a table, containing many different fields: + ++-------------- +<w:form action="" type="table" id="sendForm"> + <w:hidden name="supplier.id"/> + <w:text name="supplier.code"/> + <w:text name="supplier.name"/> + <w:text name="supplier.phone"/> + <w:textarea name="supplier.details" cols="60" rows="7">${supplier.details}</w:textarea> + <w:submit value="send"/> +</w:form> ++-------------- + + Due to internationalization issues, you should add the following items to your messages.properties file: + <supplier.name>, <supplier.code>, <supplier.phone>, <supplier.details> and <send>. + ++-------------- +supplier.name = Name +supplier.code = Code +supplier.phone = Phone +supplier.details = Details +send = send ++-------------- + +Login form example + + The following example shows a sample login form: + ++-------------- +<w:form action="" type="table" id="login"> + <w:text name="username"/> + <w:password name="password"/> + <w:submit value="login"/> +</w:form> ++-------------- + + Once again, due to internationalization issues, you should register add the following items to your messages.properties file: + <username>, <password> and <login>. + ++-------------- +username = Username +password = Password +login = Login ++--------------
Added: trunk/distribution/src/site/apt/taglib/text.apt (0 => 148)
--- trunk/distribution/src/site/apt/taglib/text.apt (rev 0) +++ trunk/distribution/src/site/apt/taglib/text.apt 2007-06-10 21:52:22 UTC (rev 148) @@ -0,0 +1,61 @@ +Text fields + + The most common and simple html tag is the usual input text field. A common use of its html form is: + ++-------------------- +<input type="text" name="supplier.name" value="${supplier.name}"/> ++-------------------- + + The <<w:text>> tag allows you to generate the above code by defining: + ++-------------------- +<w:text name="supplier.name" /> ++-------------------- + +Advantage + + The above example does not show all the power behind the waffle form taglib. Let's add a form and a table to the sample + html shown earlier: + ++-------------------- +<form action="" +<table> +<tr> +<td>suppliers name</td> +<td><input type="text" name="supplier.name" value="${supplier.name}"/></td> +</tr> +</table> +</form> ++------------------- + + Using the waffle taglib, one can easily output the above result by defining: + ++-------------------- +<w:form action="" type="table"> + <w:text name="supplier.name" /> +</w:form> ++-------------------- + + And registering the following key into your i18n file: + ++-------------------- +supplier.name = Suppliers name ++-------------------- + + You can learn more about form types by reading the <<w:form>> tag documentation. + +Fully customized tag + + Here is an example of label and default value customization: + ++-------------------- +<w:form action="" type="table"> + <w:text label="i18n.key" name="supplier.name" value="${supplier.name}"/> +</w:form> ++-------------------- + + And i18n file: + ++-------------------- +i18n.key = Suppliers name ++--------------------
Added: trunk/distribution/src/site/pt/apt/taglib/form/basic.apt (0 => 148)
--- trunk/distribution/src/site/pt/apt/taglib/form/basic.apt (rev 0) +++ trunk/distribution/src/site/pt/apt/taglib/form/basic.apt 2007-06-10 21:52:22 UTC (rev 148) @@ -0,0 +1,17 @@ +Atributos básicos + + As tags de formulário possuem diversos elementos básicos que são comuns entre elas. + + Nesta página você encontra a descrição de algum deles. + +render + + O atributo <render> indica se o item deve ser mostrado ou não no resultado (código html). O uso comum + desse atributo é para verificar se uma determinada condição é verdadeira: + ++-------------------- +<s:text name="usuario.cpf" render="${devoMostrarCampoCpf}""/> ++-------------------- + + Note que o valor de <devoMostrarCampoCpf> será verificado uma única vez - durante o processod de render + de sua página jsp. \ No newline at end of file
Added: trunk/distribution/src/site/pt/apt/taglib/form/button.apt (0 => 148)
--- trunk/distribution/src/site/pt/apt/taglib/form/button.apt (rev 0) +++ trunk/distribution/src/site/pt/apt/taglib/form/button.apt 2007-06-10 21:52:22 UTC (rev 148) @@ -0,0 +1,16 @@ +Botões + + Para criar um botão em seu formulário você pode utilizar a tag <w:button>. Essa tag recebe um atributo + chamado value, que será o valor do botão, internacionalizado. + +Exemplo + ++-------------------- +<w:button value="execute" ++-------------------- + + No exemplo acima, você deve cadastrar a mensagem <executar> no seu arquivo de internacionalização. + ++-------------------- +execute = Executar ++--------------------
Added: trunk/distribution/src/site/pt/apt/taglib/form/checkbox.apt (0 => 148)
--- trunk/distribution/src/site/pt/apt/taglib/form/checkbox.apt (rev 0) +++ trunk/distribution/src/site/pt/apt/taglib/form/checkbox.apt 2007-06-10 21:52:22 UTC (rev 148) @@ -0,0 +1,18 @@ +Campos do tipo checkbox + + Tags do tipo checkbox podem ser adicionadas com a utilização da tag s:checkbox + Você sempre pode utilizar código html puro: + ++-------------------- +<s:check name="esporte" checked="${true}" value="futebol" /> ++-------------------- + + Que gerará: + ++-------------------- +<input type="checkbox" name="esporte" checked="checked" value="futebol" /> ++-------------------- + +Valor padrão + + O valor padrão do campo value é "true".
Added: trunk/distribution/src/site/pt/apt/taglib/form/date.apt (0 => 148)
--- trunk/distribution/src/site/pt/apt/taglib/form/date.apt (rev 0) +++ trunk/distribution/src/site/pt/apt/taglib/form/date.apt 2007-06-10 21:52:22 UTC (rev 148) @@ -0,0 +1,37 @@ +Data + + Para criar um campo para mostar a data em seu formulário você pode utilizar a tag <s:date>. Essa tag recebe um atributo + chamado value, que será do tipo java.util.Date. + + Por exemplo, usando html e fmt para mostrar a hora formatada você escreveria: + ++-------------------- +<input type="text" name="fornecedor.nascimento" value="<fmt:formatDate value="${fornecedor.nascimento}" type="date" dateStyle="medium"/>" /> ++-------------------- + + Com <s:date>: + ++-------------------- +<s:date name="fornecedor.nascimento" value="${fornecedor.nascimento}" dateStyle="medium"/> ++-------------------- + + O atributo <dateStyle> pode ter os seguintes valores: <short>, <medium>, <long>, <full> e <default>. + Ele pode ser omitido (usa-se o <default>). + + Se você omitir o atributo <value>, o valor padrão será o <_expression_ language> do seu <fornecedor.nascimento>, portanto o código: + ++-------------------- +<s:date name="fornecedor.nascimento" dateStyle="medium"/> ++-------------------- + + é igual o código anterior. Ou usando o valor padrão para o atributo <dateStyle>: + ++-------------------- +<s:date name="fornecedor.nascimento"/> ++-------------------- + + Você tamém pode utilizar o atributo <pattern>: + ++-------------------- +<s:date name="fornecedor.nascimento" pattern="dd/MM/yyyy"/> ++-------------------- \ No newline at end of file
Added: trunk/distribution/src/site/pt/apt/taglib/form/errors.apt (0 => 148)
--- trunk/distribution/src/site/pt/apt/taglib/form/errors.apt (rev 0) +++ trunk/distribution/src/site/pt/apt/taglib/form/errors.apt 2007-06-10 21:52:22 UTC (rev 148) @@ -0,0 +1,25 @@ +Mostrando todos os erros + ++--------------- +<s:errors/> ++--------------- + +Motrando somente os erros de determinado campo + ++--------------- +<s:errors path="contato.nome"/> ++--------------- + +Mostrando erros em um formulário + + Caso você use o estilo <table> ou <tabless> de um formulário, as mensagens de erro aparecerão automaticamente. + +Para alterar o id da div criada + + Se você deseja utilizar outro id para sua div basta sobreescrever o valor padrão (errors): + ++--------------- +<s:errors id="my_custom_errors_div"/> ++--------------- + + \ No newline at end of file
Added: trunk/distribution/src/site/pt/apt/taglib/form/file.apt (0 => 148)
--- trunk/distribution/src/site/pt/apt/taglib/form/file.apt (rev 0) +++ trunk/distribution/src/site/pt/apt/taglib/form/file.apt 2007-06-10 21:52:22 UTC (rev 148) @@ -0,0 +1,16 @@ +Upload de arquivos + + Para fazer upload de arquivos você deve utilizar a tag <s:file>, seguindo o mesmo estilo de parâmetros + da tag text: + ++-------------------- +<s:form action="" + <s:file name="foto"/> + <s:submit value="enviar"/> +</s:form> ++-------------------- + +Label padrão + + O valor padrão de seu <label> é o mesmo do atributo name. + \ No newline at end of file
Added: trunk/distribution/src/site/pt/apt/taglib/form/form.apt (0 => 148)
--- trunk/distribution/src/site/pt/apt/taglib/form/form.apt (rev 0) +++ trunk/distribution/src/site/pt/apt/taglib/form/form.apt 2007-06-10 21:52:22 UTC (rev 148) @@ -0,0 +1,76 @@ +Formulários + + A maneira html de criar formulário necessita dizer qual a url que desejamos acessar ao enviar o formulário, por exemplo: + ++-------------- +<form action="" + <!-- seus componentes aqui --> +</form> ++-------------- + + Através da tag <<s:form>> podemos criar o formulário da seguinte maneira: + ++-------------- +<s:form action="" + <!-- seus componentes aqui --> +</s:form> ++-------------- + +Link relativo + + O primeiro exemplo de um formulário utilizando a tag <<s:form>> não mostra a grande vantagem de utilizá-lo. + Caso sua url inicie com uma barra, o nome da sua aplicação será adicionada a url para que seu link funcione relativo a aplicação. + + Numa aplicação chamada <<sistema>>, o resultado de <</minhalogica>> seria: + ++-------------- +<form action="" +</form> ++-------------- + +Estilos + + Podemos configurar o tipo de formulário que desejamos mostrar: <table>, <tableless> ou <none>. + + O padrão é <<none>> e mostra o formulário sem grandes novidades. + + Se você alterar o tipo para <table>: + ++-------------- +<s:form action="" type="table"> + <!-- seus componentes aqui --> +</s:form> ++-------------- + + O resultado será uma tabela com o nome do campo, o campo e possÃveis erros de validações automaticamente utilizando + as tags html de tabela. + + O estilo <tableless> utiliza divs, parágrafos e spans para construir a tabela. + +Exemplos + ++-------------------- +<!-- tipo normal --> +<s:form action="" + <s:text label="Nome do fornecedor" name="fornecedor.nome" value="${fornecedor.nome}"/> +</s:form> ++-------------------- + ++-------------------- +<!-- tabela --> +<s:form action="" type="table"> + <s:text label="Nome do fornecedor" name="fornecedor.nome" value="${fornecedor.nome}"/> +</s:form> ++-------------------- + ++-------------------- +<!-- div --> +<s:form action="" type="tableless"> + <s:text label="Nome do fornecedor" name="fornecedor.nome" value="${fornecedor.nome}"/> +</s:form> ++-------------------- + +Colorindo as linhas + + Em alguns casos, desejamos colocar uma cor diferente para cada linha de nosso formulário. Para atingir esse objetivo + basta utilizar o tipo de formulário como tabela (table) e adicionar o atributo <showEvenOrOdd="true">.
Added: trunk/distribution/src/site/pt/apt/taglib/form/hidden.apt (0 => 148)
--- trunk/distribution/src/site/pt/apt/taglib/form/hidden.apt (rev 0) +++ trunk/distribution/src/site/pt/apt/taglib/form/hidden.apt 2007-06-10 21:52:22 UTC (rev 148) @@ -0,0 +1,24 @@ +Campos invisÃveis + + Para criar campos invisÃveis você deve utilizar a tag <<s:hidden>>, que recebe dois atributos, <name> e <value>: + ++-------------------- +<s:hidden name="fornecedor.id" value="${fornecedor.id}"/> ++-------------------- + + A tag <<s:hidden>> não trabalha em conjunto com o estilo do formulário, isto é, por ser invisÃvel, ela não adiciona + linhas à sua tabela. + +Valor padrão + + Se você omitir o atributo <value>, o valor padrão será o <_expression_ language> do seu <name>, portanto o código: + ++-------------------- +<s:hidden name="fornecedor.id" value="${fornecedor.id}"/> ++-------------------- + + à equivalente a: + ++-------------------- +<s:hidden name="fornecedor.id"/> ++--------------------
Added: trunk/distribution/src/site/pt/apt/taglib/form/img.apt (0 => 148)
--- trunk/distribution/src/site/pt/apt/taglib/form/img.apt (rev 0) +++ trunk/distribution/src/site/pt/apt/taglib/form/img.apt 2007-06-10 21:52:22 UTC (rev 148) @@ -0,0 +1,32 @@ +Imagens + + As vezes você deseja mostrar uma imagem. Para fazer isso, seria necessário usar a tag <img>, mas ela apresenta + diversos problemas quando estamos lidando com links relativos: + ++-------------------- +<img src="" ++-------------------- + + A tag <<s:img>> permite gerar relativo ao seu servidor direto para a imagem que você deseja: + ++-------------------- +<s:img src="" ++-------------------- + + Gera o código abaixo, suponho que o nome de sua aplicação é <<aplicacao>>: + ++-------------------- +<img src="" ++-------------------- + +Formulários + + A tag <<s:img>> também pode ser usada em formulários, tirando proveito de todas as vantagens do mesmo: + ++--------------- +<s:form action="" type="table"> + <s:img src="" label="cabecalho"/> +</s:form> ++--------------- + + Gera uma linha de tabela com o tÃtulo <cabecalho> e a imagem definida.
Added: trunk/distribution/src/site/pt/apt/taglib/form/password.apt (0 => 148)
--- trunk/distribution/src/site/pt/apt/taglib/form/password.apt (rev 0) +++ trunk/distribution/src/site/pt/apt/taglib/form/password.apt 2007-06-10 21:52:22 UTC (rev 148) @@ -0,0 +1,13 @@ +Campos de senha + + O campo de senha funciona igual ao campo de texto, exceto que o tipo do campo é password. Exemplo: + ++-------------------- +<s:password name="usuario.senha"/> ++-------------------- + + Gera: + ++-------------------- +<input type="password" name="usuario.senha" value="${usuario.senha}"/> ++--------------------
Added: trunk/distribution/src/site/pt/apt/taglib/form/reset.apt (0 => 148)
--- trunk/distribution/src/site/pt/apt/taglib/form/reset.apt (rev 0) +++ trunk/distribution/src/site/pt/apt/taglib/form/reset.apt 2007-06-10 21:52:22 UTC (rev 148) @@ -0,0 +1,14 @@ +Botão para reinicializar o formulário + + O botão de reinicialização de um formulário (reset button) é utilizado para voltar o formulário ao seu estado inicial. + +Exemplo + ++-------------------- +<s:reset value="limpar"/> ++-------------------- + + No exemplo acima, você deve cadastrar a mensagem <limpar> no seu arquivo de internacionalização. + + Note que o formulário volta para seu estado inicial, que não significa estar limpo, mas sim com os valores que + foram definidos como padrão de cada campo. \ No newline at end of file
Added: trunk/distribution/src/site/pt/apt/taglib/form/row.apt (0 => 148)
--- trunk/distribution/src/site/pt/apt/taglib/form/row.apt (rev 0) +++ trunk/distribution/src/site/pt/apt/taglib/form/row.apt 2007-06-10 21:52:22 UTC (rev 148) @@ -0,0 +1,36 @@ +Linhas customizáveis + + Dentro de seu formulário você pode adicionar linhas totalmente customizadas através da tag <s:row>. + + Essa tag recebe como parâmetro o label que deve ser internacionalizado: + ++-------------------- +<s:form action="" + <s:row label="attention">Ao alterar sua senha, você será deslogado do sistema</s:row> + <s:password name="senhaAntiga"/> + <s:password name="senhaNova"/> + <s:password name="confirmaSenhaNova"/> + <s:submit value="alterar"/> +</s:form> ++-------------------- + + O exemplo acima adiciona uma coluna com o campo <attention> internacionalizado, e a mensagem da direita como + conteúdo daquela linha. + + Você pode utilizar a tag <fmt:message> para internacionalizar seu conteúdo: + ++-------------------- +<s:form action="" + <s:row label="attention"><fmt:message key="warning_logout"/></s:row> + <s:password name="senhaAntiga"/> + <s:password name="senhaNova"/> + <s:password name="confirmaSenhaNova"/> + <s:submit value="alterar"/> +</s:form> ++-------------------- + + +Label padrão + + O valor padrão de seu <label> é vazio. + \ No newline at end of file
Added: trunk/distribution/src/site/pt/apt/taglib/form/select.apt (0 => 148)
--- trunk/distribution/src/site/pt/apt/taglib/form/select.apt (rev 0) +++ trunk/distribution/src/site/pt/apt/taglib/form/select.apt 2007-06-10 21:52:22 UTC (rev 148) @@ -0,0 +1,77 @@ +Exemplo simples + ++------------ +<s:select var="conta" name="conta.id" items="${contas}" value="id"> + ${conta.nome} +</f:select> ++------------ + + Gera uma combo box: + ++------------ +<select name="conta.id"> + <option value="1">Conta Corrente</option> + <option value="2">Conta Poupança</option> + <option value="3">Conta Investimento</option> +</select> ++------------ + +Exemplo com linha vazia + ++------------ +<s:select var="conta" name="conta.id" items="${contas}" value="id" addEmpty="true"> + ${conta.nome} +</f:select> ++------------ + + Gera: + ++------------ +<select name="conta.id"> + <option value=""></option> + <option value="1">Conta Corrente</option> + <option value="2">Conta Poupança</option> + <option value="3">Conta Investimento</option> +</select> ++------------ + +Exemplo com seleção padrão + ++------------ +<s:select var="conta" name="conta.id" items="${contas}" value="id" selected="${2}"> + ${conta.nome} +</f:select> ++------------ + + Gera: + ++------------ +<select name="conta.id"> + <option value="1">Conta Corrente</option> + <option value="2" selected>Conta Poupança</option> + <option value="3">Conta Investimento</option> +</select> ++------------ + + +Radio Buttons + + Para gerar radio buttons invês de combo box usa-se o atributo <type="radio">. Por exemplo + ++------------ +<s:select type="radio" var="conta" name="conta.id" items="${contas}" value="id" selected="${2}"> + ${conta.nome} +</f:select> ++------------ + + Gera: + ++------------ +<input type="radio" value="1" name="conta.id"/>Conta Corrente<br/> +<input type="radio" value="2" name="conta.id" checked="checked"/>Conta Poupança<br/> +<input type="radio" value="3" name="conta.id"/>Conta Investimento<br/> ++------------ + + + + \ No newline at end of file
Added: trunk/distribution/src/site/pt/apt/taglib/form/submit.apt (0 => 148)
--- trunk/distribution/src/site/pt/apt/taglib/form/submit.apt (rev 0) +++ trunk/distribution/src/site/pt/apt/taglib/form/submit.apt 2007-06-10 21:52:22 UTC (rev 148) @@ -0,0 +1,29 @@ +Botões de enviar + + Para efetuar o envio do seu formulário, utilize a tag <<s:submit>>, sendo o seu uso clássico com o atributo <<value>>: + ++-------------------- +<s:submit value="enviar"/> ++-------------------- + +Como criar um formulário com dois botões de envio + + Diversas vezes desejamos ter, em um único formulário, dois botões de envio diferentes, cada um para lógicas separadas. + + Por exemplo, imagine um formulário que mostra um fornecedor e permite alterá-lo (<<fornecedor.altera.logic>) ou removê-lo (<<fornecedor.remove.logic>>). + + Através do atributo <<action>> você pode determinar qual lógica seu botão deve executar: + ++-------------------- +<s:form action="" type="table" id="meuForm"> + <s:hidden name="fornecedor.id"/> + <s:text name="fornecedor.nome"/> + <s:submit value="alterar" action="" + <s:submit value="remover" action="" +</s:form> ++-------------------- + + Note que para esse atributo funcionar é necessário código _javascript_ e que seu formulário possua um atributo chamado <<id>>, único em toda + sua página. + + Caso sua url inicie com uma barra, o nome da sua aplicação será adicionada a url para que seu link funcione relativo a aplicação.
Added: trunk/distribution/src/site/pt/apt/taglib/form/text.apt (0 => 148)
--- trunk/distribution/src/site/pt/apt/taglib/form/text.apt (rev 0) +++ trunk/distribution/src/site/pt/apt/taglib/form/text.apt 2007-06-10 21:52:22 UTC (rev 148) @@ -0,0 +1,55 @@ +Campos de texto + + A tag mais simples para montar formulários é aquela que desenha um campo de texto. Você poderia utilizar código html puro: + ++-------------------- +<input type="text" name="fornecedor.nome" value="${fornecedor.nome}"/> ++-------------------- + + A tag <<w:text>> permite gerar o código acima da seguinte maneira: + ++-------------------- +<w:text name="fornecedor.nome" /> ++-------------------- + +Vantagens + + No exemplo anterior não percebemos nenhuma vantagem quanto a utilização da tag. Agora vamos ao exemplo dessa tag + em um formulário. Primeiro o código html: + ++-------------------- +<form action="" +<table> +<tr> +<td>Nome do fornecedor</td> +<td><input type="text" name="fornecedor.nome" value="${fornecedor.nome}"/></td> +</tr> +</table> +</form> ++------------------- + + Se desejamos obter a tabela acima, basta utilizarmos o formulário <<w:form>> no estilo <table>: + ++-------------------- +<w:form action="" type="table"> + <w:text name="fornecedor.nome" "/> +</w:form> ++-------------------- + + Aprenda mais sobre os estilos de formulários na página relativa a tag <<w:form>>. + +Tag completa + + Aqui está um exemplo de tag com diversos campos customizados: + ++-------------------- +<w:form action="" type="table"> + <w:text label="i18n.key" name="fornecedor.nome" value="${fornecedor.nome}"/> +</w:form> ++-------------------- + + E arquivo de mensagens: + ++-------------------- +i18n.key = Nome do fornecedor ++--------------------
Added: trunk/distribution/src/site/pt/apt/taglib/form/textarea.apt (0 => 148)
--- trunk/distribution/src/site/pt/apt/taglib/form/textarea.apt (rev 0) +++ trunk/distribution/src/site/pt/apt/taglib/form/textarea.apt 2007-06-10 21:52:22 UTC (rev 148) @@ -0,0 +1,11 @@ +Campos de texto + + A tag para criação de campos de texto de diversas linhas é a <<s:textarea>>: + ++-------------------- +<s:textarea name="fornecedor.descricao">${fornecedor.descricao}</s:textarea> ++-------------------- + +Label padrão + + O valor padrão de seu <label> é o mesmo do atributo name, internacionalizado.
Added: trunk/distribution/src/site/pt/apt/taglib/form/time.apt (0 => 148)
--- trunk/distribution/src/site/pt/apt/taglib/form/time.apt (rev 0) +++ trunk/distribution/src/site/pt/apt/taglib/form/time.apt 2007-06-10 21:52:22 UTC (rev 148) @@ -0,0 +1,37 @@ +Hora + + Para criar um campo para a hora em seu formulário você pode utilizar a tag <s:time>. Essa tag recebe um atributo + chamado value, que será <java.util.Date>. + + Por exemplo, usando html e fmt para mostrar a hora formatada você escreveria: + ++-------------------- +<input type="text" name="fornecedor.nascimento" value="<fmt:formatDate value="${fornecedor.nascimento}" type="time" timeStyle="medium"/>" /> ++-------------------- + + Com <s:time>: + ++-------------------- +<s:time name="fornecedor.nascimento" value="${fornecedor.nascimento}" timeStyle="medium"/> ++-------------------- + + O atributo <timeStyle> pode ter os seguintes valores: <short>, <medium>, <long>, <full> e <default>. + Ele pode ser omitido (usa-se o <default>). + + Se você omitir o atributo <value>, o valor padrão será o <_expression_ language> do seu <fornecedor.nascimento>, portanto o código: + ++-------------------- +<s:time name="fornecedor.nascimento" timeStyle="medium"/> ++-------------------- + + é igual o código anterior. Ou usando o valor padrão para o atributo timeStyle: + ++-------------------- +<s:time name="fornecedor.nascimento"/> ++-------------------- + + Você tamém pode utilizar o atributo <pattern>: + ++-------------------- +<s:time name="fornecedor.nascimento" pattern="hh:mm"/> ++-------------------- \ No newline at end of file
Added: trunk/distribution/src/site/pt/apt/taglib/index.apt (0 => 148)
--- trunk/distribution/src/site/pt/apt/taglib/index.apt (rev 0) +++ trunk/distribution/src/site/pt/apt/taglib/index.apt 2007-06-10 21:52:22 UTC (rev 148) @@ -0,0 +1,57 @@ +Introdução + + Waffle taglib é a tag library disponibilizada pelo Waffle para aumentar a produtividade do desenvolvedor ao + escrever páginas jsp. + O passo mais importante é adicionar a taglib ao seu jsp: + ++------------ +<%@ taglib uri="http://waffle.codehaus.org" prefix="w" %> ++------------ + +Exemplo básico + + O exemplo a seguir mostra um formulário a ser criado em uma tabela, com um campo invisÃvel e alguns + de texto. + ++-------------- +<w:form action="" type="table" id="sendForm"> + <w:hidden name="fornecedor.id"/> + <w:text name="fornecedor.codigo"/> + <w:text name="fornecedor.nome"/> + <w:text name="fornecedor.telefone"/> + <w:textarea name="fornecedor.detalhes" cols="60" rows="7">${fornecedor.detalhes}</w:textarea> + <w:submit value="enviar"/> +</w:form> ++-------------- + + Note que, devido a internacionalização, você deve registrar as seguintes chaves no seu arquivo de propriedades: + <fornecedor.nome>, <fornecedor.codigo>, <fornecedor.telefone>, <fornecedor.detalhes> e <enviar>. + ++-------------- +fornecedor.nome = Nome +fornecedor.codigo = Código +fornecedor.telefone = Telefone +fornecedor.detalhes = Detalhes +enviar = Enviar ++-------------- + +Exemplo de um formulário de login + + O exemplo abaixo mostra um campo de texto e outro de senha para um formulário clássico de login: + ++-------------- +<w:form action="" type="table" id="login"> + <w:text name="username"/> + <w:password name="password"/> + <w:submit value="login"/> +</w:form> ++-------------- + + Note que, devido a internacionalização, você deve registrar as seguintes chaves no seu arquivo de propriedades: + <username>, <password> e <login>. + ++-------------- +username = Usuário +password = Senha +login = Login ++--------------
Modified: trunk/distribution/src/site/site.xml (147 => 148)
--- trunk/distribution/src/site/site.xml 2007-06-07 22:49:47 UTC (rev 147) +++ trunk/distribution/src/site/site.xml 2007-06-10 21:52:22 UTC (rev 148) @@ -23,6 +23,7 @@ </poweredBy> <body> <links> + <item name="Portuguese" href="" <item name="Waffle Home" href="" </links> @@ -52,6 +53,12 @@ <item name="Simple Calculator" href="" </menu> + <menu name="Taglib"> + <item name="Index" href="" + <item name="Button" href="" + <item name="Text" href="" + </menu> + <menu name="Misc..."> <item name="Javadocs" href="" <item name="Testing" href=""
Copied: trunk/distribution/src/site/site_pt.xml (from rev 120, trunk/distribution/src/site/site.xml) (0 => 148)
--- trunk/distribution/src/site/site_pt.xml (rev 0) +++ trunk/distribution/src/site/site_pt.xml 2007-06-10 21:52:22 UTC (rev 148) @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<project name="Waffle"> + <skin> + <groupId>org.codehaus.waffle</groupId> + <artifactId>waffle-skin</artifactId> + <version>1.0-SNAPSHOT</version> + </skin> + <bannerLeft> + <name>Waffle</name> + <src>./images/waffle-logo.png</src> + <href>http://waffle.codehaus.org/</href> + </bannerLeft> + <poweredBy> + <logo name="Hosted at Codehaus" + href="" + img="http://ci.codehaus.org/codehaus-small.png"/> + <logo name="Build with Maven 2" + href="" + img="images/logos/maven-feather.png"/> + <logo name="The best Java IDE" + href="" + img="http://www.jetbrains.com/idea/opensource/img/banners/idea88x31_white.gif"/> + </poweredBy> + <body> + <links> + <item name="English" href="" + <item name="Waffle Home" href="" + </links> + + <menu name="Taglib"> + <item name="Index" href="" + <item name="Button" href="" + <item name="Text" href="" + </menu> + + ${reports} + + </body> + +</project>
To unsubscribe from this list please visit:
