Erro de transação não ativa

Diz o erro de transação não ativa. Veja esse exemplo e porque não funciona.

public class DAOTeste { private EntityManagerFactory emf; public EntityManager getEntityManager(){ return emf.createEntityManager(); } public DAOTeste() { emf = Persistence.createEntityManagerFactory("puMosaicoDigital"); } }
Meu Controler

public class ClienteControler { private Cliente cliente; private DataModel model; public ClienteControler() { cliente = new Cliente(); } public Cliente getCliente() { return cliente; } public void setCliente(Cliente cliente) { this.cliente = cliente; } public String salvar(){ ClienteDAO clientedao = new ClienteDAO(); clientedao.salvar(cliente); return "salvar"; } public DataModel getTodos(){ ClienteDAO clientedao = new ClienteDAO(); model = new ListDataModel(clientedao.exibir()); return model; } }
Meu ClienteDAO

[code]public class ClienteDAO extends DAOTeste {
public void salvar(Cliente cliente){
//obtendo o EntityManager
EntityManager em = getEntityManager();
try{
//inicia o processo de transacao
em.getTransaction().begin();
//faz a persistencia
em.persist(cliente);
//manda bala para o BD
em.getTransaction().commit();
}catch (Exception e) {
//se der algo de errado vem parar aqui, onde eh cancelado
em.getTransaction().rollback(); } }
public List exibir(){
EntityManager em = getEntityManager();
try{
Query q = em.createQuery("select object© from tela as c");

               return q.getResultList();}                    
          finally{                               
          em.close();                     
        }         

}}[/code]
Meu facelet

&lt;?xml version='1.0' encoding='UTF-8' ?&gt; &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt; &lt;html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"&gt; &lt;body&gt; &lt;h:form&gt; Id: &lt;h:inputText value="#{clienteControler.cliente.idtela}"/&gt;<br ></br> Tela: &lt;h:inputText value="#{clienteControler.cliente.tela}"/&gt;<br ></br> &lt;h:commandButton value="Enviar" action="#{clienteControler.salvar}"/&gt; &lt;/h:form&gt; &lt;/body&gt; &lt;/html&gt;
meu faces-conf

&lt;managed-bean&gt; &lt;managed-bean-name&gt;clienteControler&lt;/managed-bean-name&gt; &lt;managed-bean-class&gt;br.com.mosaicodigital.teste.ClienteControler&lt;/managed-bean-class&gt; &lt;managed-bean-scope&gt;request&lt;/managed-bean-scope&gt; &lt;/managed-bean&gt;

posta o erro tb…