componentes marco antonio. cadastrodegerente.jsp para utilizar os novos componentes devemos...
TRANSCRIPT
ComponentesMarco Antonio
CadastroDeGerente.jsp<%@taglib prefix="sx" uri="/struts-dojo-tags"%>
<%@taglib prefix="s" uri="/struts-tags"%>
• Para utilizar os novos componentes devemos acrescentar a taglib do dojo nas respectivas páginas.
• Todas as taglib's devem estar agrupadas.
CadastroDeGerente.jsp<head>
<s:head />
<sx:head />
</head>
• As tag's incluem os arquivos .js (javascript) necessários para os componentes.
CadastroDeGerente.jsp<sx:datetimepicker name="data" label="Data"
displayFormat="dd/MM/yyyy" name="gerente.dataDeNascimento" />
• O primeiro componente é o datepicker.
• Informe o formato no padrão brasileiro e associe à data de nascimento do gerente. Para evitar conversões (que serão vistas em outro momento), utilize o java.util.Date.
CadastroDeAgencia.jsp<sx:autocompleter list="listaDeGerentes" listKey="id"
listValue="nome" autoComplete="true" showDownArrow="true"
label="Gerente" keyName="agencia.gerente.id"
keyValue="agencia.gerente.nome" />
• Outro componente bastante prático é o autocompleter.
• Tem a mesma função do select, mas a facilidade do autocompletar.
ConsultaDeGerentes.jsp<s:iterator value="listaDeGerentes">
<tr id="row_<s:property value="id"/>">
<td><s:property value="nome" /></td>
<td><s:property value="endereco" /></td>
<td><s:property value="telefone" /></td>
<td><s:date name="dataDeNascimento" format="dd/MM/yyyy" /> </td>
<td><s:date name="dataDeNascimento" nice="true" /> </td>
<td><a href="<s:url action="EditarGerente"><s:param name="id" value="id"/></s:url>">Editar</a></td>
</tr>
</s:iterator>
ConsultaDeGerentes.jsp• Para mostrar valores tipo Date, utilize o
respectivo componente do struts2.• Este é um componente novo que resolve
diversos problemas de formatação.
Conversão• Acrescente o atributo salario (Double) em
gerente.• Adicione um campo texto no cadastro e a
propriedade na consulta de gerentes.• Sem conversão, o padrão utilizado é
americano (1,000.00).• Grave alguns registros e veja na consulta o
resultado.
ConversorDoublepackage com.sistemabancario.util;
import java.text.*;import java.util.*;import org.apache.struts2.util.*;
@SuppressWarnings("unchecked")public class ConversorDouble extends StrutsTypeConverter { private Locale BRAZIL = new Locale("pt", "BR"); private DecimalFormatSymbols REAL = new DecimalFormatSymbols(BRAZIL); private DecimalFormat DINHEIRO_REAL = new DecimalFormat("###,###,##0.00", REAL);
public Object convertFromString(Map mapa, String[] valores, Class clazz) { try { return DINHEIRO_REAL.parseObject(valores[0]); } catch (ParseException e) { return null; } }
public String convertToString(Map mapa, Object objeto) { return DINHEIRO_REAL.format(objeto); }}
xworks-conversion.propertiesjava.lang.Double=com.sistemabancario.util.ConversorDouble
• Crie este arquivo na raíz do projeto web (src).
• Consulte e depois grave alguns registros.