quinta-feira, 17 de outubro de 2013

Passar sessão do Hibernate para o Jasper

String pathRel = servletContext.getRealPath("/jasper/relatorio.jasper");

Map<String, Object> parametros = new HashMap<String, Object>();
parametros.put(JRHibernateQueryExecuterFactory.PARAMETER_HIBERNATE_SESSION, HibernateUtil.getSession());

JasperPrint print = JasperFillManager.fillReport(pathRel,parametros);

sexta-feira, 20 de setembro de 2013

JSF - Exemplo de utilização do ValueChangeEvent

Um ValueChangeEvent é gerado quando o valor de uma caixa de texto ou a opção de uma
caixa de seleção são alterados.

<h: outputLabel value ="Nome: " for ="nome" />
<h: inputText valueChangeListener ="#{usuarioMB.teste}" id="nome" />

@ManagedBean
public class usuarioBean{
     public void teste( ValueChangeEvent e) {
          System . out . println ("Nome anterior: " + e. getOldValue ());
          System . out . println ("Nome atual: " + e. getNewValue ());
     }
}

ou

<h: outputLabel value =" Preço : " for =" preco " />
 <h: inputText id=" preco ">
     <f: valueChangeListener type ="br.com.alexandrepalmeira.TesteChangeListener" />
</h: inputText >


package br.com.alexandrepalmeira;

public class TesteChangeListener implements ValueChangeListener {
     @Override
     public void processValueChange (ValueChangeEvent e) {
          System . out . println ("Nome anterior: " + e. getOldValue ());
          System . out . println ("Nome atual: " + e. getNewValue ());
     }
}


Os métodos são executados na fase Process Validations.

JSF - Associar mais de dois métodos a um evento


<h: commandLink value ="Salvar" action ="acao1" actionListener ="acao2">
     <f: actionListener type ="br.com.alexandrepalmeira.MudarCor"/> // acao3 ...
</h: commandLink >


br.com.alexandrepalmeira;
public class MudarCor implements ActionListener {
     @Override
     public void processAction ( ActionEvent e) {
          UICommand c = ( UICommand ) e. getComponent ();
          c. getAttributes (). put(" style ", " color : red ;");
     }
}

quinta-feira, 19 de setembro de 2013

JSF - Considerar strings vazia como null

Adicionar no Web.xml

<context-param>
     <param-name>
          javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL
     </param-name>
     <param-value>true </param-value>
</context-param>

JSF - Exemplo de f:validateRegex

Verificando se a propriedade tem pelo menos 5 e no máximo 10 letras.

<h: inputText value ="#{bean.codigo}" id="codigo">
     <f: validateRegex pattern ="[a-zA -Z ]{5 ,10} "/>
</h: inputText >
<h: message for ="codigo"/>

JSF - Exibir dados na forma de porcentagem

<h: outputText value ="#{bean.numero}" >
     <f: convertNumber type =" percent " />
</h: outputText >

JSF - Criar managed bean de aplicação quando a aplicação é incializada


@ManagedBean (eager = true)
@ApplicationScoped
 class managedBean{

}

Se não for definido como eager, o managed bean será criado apenas quando for utilizado pela primeira vez