Boa Tarde Pessoal;
Gostaria de saber se é possivel adicionar marcara em um <h:outputText />, no contexto que tenho tenho um dataTable com a listagem de clientes.
Tenho campos como nome, email, cidade, etc…
Tambem tenho um campo telefone, gostaria de saber se existe um maneira de aplicar mascara neste campo ?
Abaixo segue como estou efetuando impressao da coluna telefone
<p:column>
<f:facet name="header">Telefone</f:facet>
<h:outputText value="#{bean.telefone}" />
</p:column>
Ah, gostaria que essa aplicação de mascara fosse genérica, de modo que se eu tivesse outras listagem pudesse utilizar o mesmo metodo para aplicar a mesma
[quote=Deverling]Boa Tarde Pessoal;
Gostaria de saber se é possivel adicionar marcara em um <h:outputText />, no contexto que tenho tenho um dataTable com a listagem de clientes.
Tenho campos como nome, email, cidade, etc…
Tambem tenho um campo telefone, gostaria de saber se existe um maneira de aplicar mascara neste campo ?
Abaixo segue como estou efetuando impressao da coluna telefone
<p:column>
<f:facet name="header">Telefone</f:facet>
<h:outputText value="#{bean.telefone}" />
</p:column>
Ah, gostaria que essa aplicação de mascara fosse genérica, de modo que se eu tivesse outras listagem pudesse utilizar o mesmo metodo para aplicar a mesma
[/quote]
Boa tarde!
Eu reparei que voce utiliza Primefaces, veja se ajuda: http://www.primefaces.org/showcase-labs/ui/inputMask.jsf
[]'s
Deverling
teria como usar dessa forma:
<h:outputText valou="Telefone"/>
<p:inputMask value="#{bean.telefone}" mask (99) 9999-9999" />
Nunca vi isso não cara, eu costumo usar um Converter.
<h:outputText value="#{meuMB.pessoa.cnpj}">
<f:converter converterId="cnpjConverter" />
</h:outputText>
Converter
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.ConverterException;
import br.com.caelum.stella.format.CNPJFormatter;
import br.gov.bndes.equ.util.string.StringUtils;
public class CNPJConverter implements Converter {
public Object getAsObject(FacesContext arg0, UIComponent arg1, String arg2)
throws ConverterException {
return arg2;
}
public String getAsString(FacesContext arg0, UIComponent arg1, Object arg2)
throws ConverterException {
if(arg2 == null){
return "";
}
return StringUtils.formataCNPJ(arg2.toString());
}
public static String formataCNPJ(String cnpj){
if(cnpj == null || "".equals(cnpj)){
return "";
}
return new CNPJFormatter().format(cnpj);
}
}
faces-confg
<converter>
<converter-id>cnpjConverter</converter-id>
<converter-class>br.gov.bndes.equ.web.converter.CNPJConverter</converter-class>
</converter>
Espero que ajude,
Abraço
Boa Tarde, nos formularios que tenho estou utilizando os componentes que mandaste no link, mas o que quero “mascarar” não é um “input” e sim um “output” ou “label”, por exemplo, procurei no primefaces e não encontrei componente para mascarar esses componentes.
Att
converter pode ser interessante, irei testar, mas desculpe-me pela pergunta, será que ele executa ao carregar a pagina dentro de um dataTable ?
Att
[quote=Deverling] converter pode ser interessante, irei testar, mas desculpe-me pela pergunta, será que ele executa ao carregar a pagina dentro de um dataTable ?
Att[/quote]
tranquilo cara, executa sim.
Obrigado pela dica Igor, funcionou perfeitamente.
Não sei se sabe como, mas se souberes agradeço-te.
No meu dataTable, ao clicar em uma linha, gostaria que ele mandasse o cliente da linha selecionada para uma tela de listagem, já li nos exemplos do site do primefaces como faz, mas para mim não funcionou.
Com o exemplo de ajax que tem no site o seguinte erro é retornado
<p:ajax> Parent not an instance of ClientBehaviorHolder:
E com onRowSelectUpdate=“form” rowSelectListener="#{ClienteCadastroBean.Editar}"
Retorna o seguinte erro no console
AVISO: /gerenciador/content/cliente/clienteListagem.xhtml @43,211 rowSelectListener="#{ClienteCadastroBean.Editar}": Method not found: classe.projeto.bean.ClienteCadastroBean@75fd2f.Editar(org.primefaces.event.SelectEvent)
Att
[quote=Deverling]Obrigado pela dica Igor, funcionou perfeitamente.
Não sei se sabe como, mas se souberes agradeço-te.
No meu dataTable, ao clicar em uma linha, gostaria que ele mandasse o cliente da linha selecionada para uma tela de listagem, já li nos exemplos do site do primefaces como faz, mas para mim não funcionou.
Com o exemplo de ajax que tem no site o seguinte erro é retornado
<p:ajax> Parent not an instance of ClientBehaviorHolder:
E com onRowSelectUpdate=“form” rowSelectListener="#{ClienteCadastroBean.Editar}"
Retorna o seguinte erro no console
AVISO: /gerenciador/content/cliente/clienteListagem.xhtml @43,211 rowSelectListener="#{ClienteCadastroBean.Editar}": Method not found: classe.projeto.bean.ClienteCadastroBean@75fd2f.Editar(org.primefaces.event.SelectEvent)
Att[/quote]
Show de bola cara!
Eu costumo fazer isso usando um <h:commandButton> e coloco um <f:setPropertyActionListener> setando o objeto da tabel para o MB. (se quiser mando um exemplo)
Mas pelo que eu percebi você quer que ao clicar em qualquer lugar da linha daquela tabela ela pegar o objeto e passar pra uma tela de editar. Desse jeito nunca fiz, mas percebi pelo erro que você colocou que o método não está sendo encontrado, será que é porque você não colocou o “editar” com “E” maiúsculo e no MB minúsculo?
Sim, pensei a mesma coisa que você, mas está correto.
E no site do primefaces também tem o exemplo que mencionaste (com <h:commandButton>) irei fazer assim também e não perder mais tempo com isso.
Obrigado pelo força Igor
Att
Sou bem novo em JAVA, na verdade comecei a brincar ontem, programo em outras linguagens já.
E eu tinha a mesma dúvida do amigo acima como formatar um <h:outputText>, no final das contas eu testei o Código do IGOR GABRIEL, e funcionou perfeitamente mas como estou usando JFS2.0 e estou fugindo do faces-config.xml (igual diabo foge da cruz.) eu achei de um Chinês como fazer isso com @Annotations
Ficando da seguinte maneira a classe:
[code]
package br.com.util.converter;
import br.com.caelum.stella.format.CNPJFormatter;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.ConverterException;
import javax.faces.convert.FacesConverter;
/**
- Converter para CNPJ.
-
- Classe base feita pelo Igor gabriel a qual servirá de base para os outros converters
- próximos converters.
-
-
@author Igor Gabriel
*/
@FacesConverter(“cnpjConverter”)
public class CNPJConverter implements Converter {
@Override
public Object getAsObject(FacesContext arg0, UIComponent arg1, String arg2)
throws ConverterException {
return arg2;
}
@Override
public String getAsString(FacesContext arg0, UIComponent arg1, Object arg2)
throws ConverterException {
if (arg2 == null) {
return “”;
}
CNPJFormatter f = new CNPJFormatter();
return f.format(arg2.toString());
}
public static String formataCNPJ(String cnpj) {
if (cnpj == null || “”.equals(cnpj)) {
return “”;
}
return new CNPJFormatter().format(cnpj);
}
}[/code]
FONTE: http://www.mkyong.com/jsf2/custom-converter-in-jsf-2-0/