Mentawai Web Framework

Tags de HTML

O Mentawai vem com algumas tags HTML que podem te poupar muito trabalho chato. Considere o formulário HTML abaixo:

<form action="Register.mtw" method="post">
Name: <input type="text" name="fullname" size="50" maxlength="60" /><br/>
Username: <input type="text" name="username" size="20" maxlength="30" /><br/>
Password: <input type="password" name="pass" size="20" maxlength="20" /><br/>
Confirm: <input type="password" name="conf" size="20" maxlength="20" /><br/>
Zip: <input type="text" name="zip" size="20" maxlength="20" /><br/>
Accept term: <input type="checkbox" name="accept" value="1" /><br/>
<input type="submit" value="Send Now!" />
</form>
                

Quando o usuário fizer o submit do formulário, este passará pela validação e se um erro for encontrado na página ela será novamente exibida para o usuário com a mensagem de erro. Claro que você não quer que o usuário digite tudo de novo só porque seu CEP estava errado, então a questão é: Como evitar que os dados válidos desapareçam? Com as tags do Mentawai, tudo o que precisa fazer é:

<%@ taglib uri="/WEB-INF/lib/mentawai.jar" prefix="mtw" %>
<form action="Register.mtw" method="post">
Name: <mtw:input type="text" name="fullname" size="50" maxlength="60" /><br/>
Username: <mtw:input type="text" name="username" size="20" maxlength="30" /><br/>
Password: <mtw:input type="password" name="pass" size="20" maxlength="20" /><br/>
Confirm: <mtw:input type="password" name="conf" size="20" maxlength="20" /><br/>
Zip: <mtw:input type="text" name="zip" size="20" maxlength="20" /><br/>
Accept term: <mtw:input type="checkbox" name="accept" value="1" /><br/>
<input type="submit" value="Send Now!" />
</form>
                

A tag input do Mentawai, assim como todas as outras tags HTML do Mentawai, procuram por dados na action. A regra é :

Você nem precisaria saber dessas regras. As informações de um formulário serão re-exibidas corretamente e você não teve que codificar uma linha de código para tal!


Integração com Listas de Dados

As tags HTML do Mentawai são integradas com as listas de dados (se você não sabe o que é uma lista de dados, consulte Lista de Dados) para facilmente exibir uma lista de formulário. Imagine, por exemplo, que você tem uma lista de dados de gêneros. Veja o código abaixo:

<%@ taglib uri="/WEB-INF/lib/mentawai.jar" prefix="mtw" %>
<form action="Register.mtw" method="post">
Name: <mtw:input type="text" name="fullname" size="50" maxlength="60" /><br/>
Username: <mtw:input type="text" name="username" size="20" maxlength="30" /><br/>
Password: <mtw:input type="password" name="pass" size="20" maxlength="20" /><br/>
Confirm: <mtw:input type="password" name="conf" size="20" maxlength="20" /><br/>
Zip: <mtw:input type="text" name="zip" size="20" maxlength="20" /><br/>
Gender: <mtw:select name="gender" list="genders" /><br/>
Accept term: <mtw:input type="checkbox" name="accept" value="1" /><br/>
<input type="submit" value="Send Now!" />
</form>
                

A tag de select do Mentawai cria um select de HTML com os itens da lista de gêneros.

Você pode também criar checkboxes e radio buttons a partir de uma lista de dados:

<!-- This does not make sense -->
Gender: <mtw:checkboxes name="gender" list="genders" /><br/>

<!-- This is better! -->
Gender: <mtw:radiobuttons name="gender" list="genders" /><br/>
            

Lembre-se que essas tags tem a mesma funcionalidade da tag input, em outras palavras, eles não perderão os dados do seu formulário!


Mais Controle

As tags input, select, checkboxes e radiobuttons do Mentawai possuem outros atributos para melhor controlar o seu comportamento.

Por exemplo, o select tem o atributo emptyField que se possuir o valor true incluirá na lista um item vazio, desse jeito:

<option value="0"> - </option>
            

Você pode criar mais tags HTML herdando da classe org.mentawai.tag.html.HTMLTag ou sobrescrevendo as tags existentes para melhorar o seu comportamento.

Para mais informações sobre as tags, consulte a documentação da API.