[Logo] Mentawai Forum - Mentawai Web Framework
  [Search] Search   [Recent Topics] Recent Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
Messages posted by: Lupos  XML
Profile for Lupos -> Messages posted by Lupos [75] Go to Page: Previous  1, 2, 3, 4, 5 Next 
Author Message
amigos me ajudem, to a horas tentando buscar os dados do meu jsp e não consegui ver o que falta, so vem null e se colocar algum do tipo int vem com -1, algum filho de Deus me diga o que estou fazendo de errado.....

JSP
Code:
<%@ taglib uri="/WEB-INF/lib/mentawai.jar" prefix="mtw" %>
 <mtw:requiresAuthentication />
 
 <html>
     <head>
         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
         <title></title>
        <mtw:inputMaskConfig />
        <mtw:formSkinConfig skin="xClear"/>
        <mtw:tabPanelConfig />
 
     </head>
     <body>
         <mtw:hasError>
         <font class="error"><mtw:error /></font>
         
</br>
     </mtw:hasError>  
     
           <DIV style="width:650px;padding-top:5%">
         
             
                <mtw:formSkin name="frm" method="POST" 
                 action="ClienteAction.show.mtw" 
                 caption="Cadastro de Clientes" 
                 btnCloseOnclick="window.close()" 
                 btnCloseTitle="fechar browser"
                 >
      
                     
               

   
              <mtw:input type="hidden" name="id" />      
              
              <DIV style="width: 550px; heigth: auto;">
                  
                 <DIV style="width: 40px; float: left; margin: 2px;">
                   <LABEL style="width:40px;" class="mtwLabel">Filial</LABEL>
                 </DIV>
                 <DIV style="width:30px; float: left; margin: 2px;">
                   <mtw:input name="filial" maxlength="2" size="1" style="border:1px solid black"/>    
                 </DIV>    
                 
                 <DIV style="width: 60px; float: left; margin: 2px;">
                   <LABEL style="width:50px;" class="mtwLabel">Empresa</LABEL>
                 </DIV>
                 <DIV style="width:30px; float: left; margin: 2px;">
                   <mtw:input name="empresa" maxlength="2" size="1" style="border:1px solid black"/>    
                 </DIV>    
 
                 <DIV style="width: 48px; float: left; margin: 2px;">
                   <LABEL style="width:50px;" class="mtwLabel">Codigo</LABEL>
                 </DIV>
                 <DIV style="width:80px; float: left; margin: 2px;">
                   <mtw:input name="codigo" maxlength="8" size="10" style="border:1px solid black"/>
                 </DIV>    
                 
                 <DIV style="width: 30px; float: left; margin: 2px;">
                   <LABEL style="width:30px;" class="mtwLabel">CPF</LABEL>
                 </DIV>
                 <DIV style="width:50px; float: left; margin: 2px;">
                   <mtw:inputMask maskDefined="CPF" name="cgc" klassStyle="border:1px solid black" title="Informe o cpf" size="15"/> 
                 </DIV>   


minha Action
Code:
 public String show() throws Exception {
         String empresa    = input.getStringValue("empresa");
         String codigo        = input.getStringValue("codigo");
         String cgccpf        = input.getStringValue("cgc");
         String nome         = input.getStringValue("razao_social");
         
         Cliente c = new Cliente();
         c.setEmpresa(empresa);
         c.setCodigo(codigo);
         c.setCgc(cgccpf);
         c.setRazao_Social(nome);
         
         Cliente cliente = clienteDAO.findByEq(c);
         output.setValue("cliente",cliente);
         return SUCCESS;
         
     }


Valeu

velo wrote:
remover 


você se refere ao topico...... pode sim blz .
resolvi o problema substituindo o scope do IocFilter, no loadAction do ApplicationManager

antes
Code:
 public void loadActions() {
 
         filter(new AuthenticationFilter());
         on(LOGIN, redir("/index.jsp"));   
       
         List<Filter> common = new ArrayList<Filter>();
          
         common.add(new ValidatorFilter());
         common.add(new ConverterFilter());
         common.add(new IoCFilter(usuarioDAO, "usuarioDAO", SESSION));
     


depois
Code:
 public void loadActions() {
 
         filter(new AuthenticationFilter());
         on(LOGIN, redir("/index.jsp"));   
       
         List<Filter> common = new ArrayList<Filter>();
          
         common.add(new ValidatorFilter());
         common.add(new ConverterFilter());
         common.add(new IoCFilter(usuarioDAO, "usuarioDAO", REQUEST));
 
To com um problema estranho na minha aplicação, no momento do login...., to utilizando extends BaseLoginAction implements Validatable ... quando digito usuário e senha correto, nenhum problema acontece, mas se por ventura errar a senha, e o retorno da action for ERROR , ai não consigo me conectar ao mysql. Eu uso hibernate anot. e no session.beginTransaction(); falha, fica dizendo que a session esta fechada, ai sou obrigado a reiniciar o tomcat por que não consigo mais acessar o banco: minha plataforma linux ubuntu. alguma dica???

Valeu.

LoginAction
Code:
 public String execute() throws Exception {
        
         String logname = input.getStringValue("username");
         String senha   = input.getStringValue("password");
         
         Usuario anonimo = new Usuario();
         anonimo.setLogname(logname);
         
         Usuario usuario = usuarioDAO.findByEq(anonimo);
     
         if (usuario != null &&
             usuario.getLogname().equals(logname) &&
             usuario.getSenha().equals(criptografa(senha)) ){
             
                etc.......
             
              return SUCCESS;
         }     
         else {
           addError("Login ou senha incorretos!");
           return ERROR;
         }
     }



Applicationmanager
Code:
public class ApplicationManager extends org.mentawai.core.ApplicationManager{
     
     Component aplicacaoDAO;
     Component usuarioDAO;
     Component menuDAO;
     Component tituloMenuDAO;
     Component filialDAO;
     SessionFactory sessionFactory;
     
     DBListData dbListData;
     ListData listData;
     
      public void init(Context application) {
          
 
         this.aplicacaoDAO  = new DefaultComponent(HibernateAplicacaoDAO.class);        
         this.usuarioDAO    = new DefaultComponent(HibernateUsuarioDAO.class);
         this.menuDAO       = new DefaultComponent(HibernateMenuDAO.class);        
         this.tituloMenuDAO = new DefaultComponent(HibernateTituloMenuDAO.class);        
         
         this.filialDAO = new DefaultComponent(HibernateFilialDAO.class);        
         
         this.sessionFactory = new AnnotationConfiguration()
         .addAnnotatedClass(Menu.class)        
         .addAnnotatedClass(TituloMenu.class)                
         .addAnnotatedClass(Usuario.class)
         .addAnnotatedClass(Aplicacao.class)
         .addAnnotatedClass(Filial.class)
         .configure()
         .buildSessionFactory();
     }
   
     public void loadActions() {
 
         filter(new AuthenticationFilter());
         on(LOGIN, redir("/index.jsp"));   
       
         List<Filter> common = new ArrayList<Filter>();
          
         common.add(new ValidatorFilter());
         common.add(new ConverterFilter());
         common.add(new IoCFilter(aplicacaoDAO, "aplicacaoDAO", REQUEST));        
         common.add(new IoCFilter(usuarioDAO, "usuarioDAO", SESSION));
         common.add(new IoCFilter(tituloMenuDAO, "tituloMenuDAO", REQUEST));           
         common.add(new IoCFilter(menuDAO, "menuDAO", REQUEST));   
         common.add(new IoCFilter(filialDAO,"filialDAO",REQUEST));
         common.add(new HibernateFilter(sessionFactory));
         common.add(new DIFilter());
         common.add(new InjectionFilter());
        
         di("session",Session.class);
         di("aplicacaoDAO",BaseImplDAO.class);
         di("usuarioDAO",BaseImplDAO.class);
         di("tituloMenuDAO",BaseImplDAO.class);
         di("menuDAO",BaseImplDAO.class);
         di("filialDAO",BaseImplDAO.class);
          
         action("/LoginAction",LoginAction.class)
         .on(SUCCESS,fwd("WEB-INF/jsp/template/body.page"))
         .on(ERROR,fwd("/index.jsp"))
         .addFilter(common);
          
  	action("/LogoutAction", LogoutAction.class);
         on(SUCCESS, redir("/index.jsp"));
 
   }    



BaseDAO
Code:
public interface BaseDAO<T, PK extends Serializable> {
     public abstract Class<T> getObjClass();
     public abstract T findByEq(final T example);
 }
 


BaseImpDAO
Code:
 public T findByEq(final T value) {
         Transaction tx = null;
         try {
             tx = session.beginTransaction();
             final Criteria criteria = session.createCriteria(this.objClass);
             criteria.add(Example.create(value).enableLike(MatchMode.ANYWHERE).ignoreCase());
             final T result = (T) criteria.uniqueResult();
             tx.commit();
             return result;
         } catch (final HibernateException e) {
             if (tx != null && tx.isActive())
                 tx.rollback();
             logger.error(e.getMessage(),e.getCause());
         }  
         return null;
         
     }


Usa o link abaixo como referencia, uma especie de roteiro, substituia o framework MVC que tem pelo Menta e todos os agregados q puder, o menta tem integração com Hibernate/Ajax, faz tudo isso ai belezinha e com mais simplicidade ainda, se tu não quiser usar o hibernate tem a opção do mentabeans, ou seja barba cabelo e bigode. e seja feliz

http://www.caelum.com.br/caelum/apostila/caelum-java-web-fj28.pdf
será q isso não é permissão.
bom ao meu ver não vejo problema em salvar, se vc quer fazer distinção entre PF e PJ, poderia definir um campo flag na tabela... "F" ou "J" , e quem quer q seja teria q informar isso na view, de qualquer forma uma boa opção seria a validação dos digitos, pra mim obrigatória, tanto do CPF como CNPJ, afinal vc não querer gravar no seu banco dados inconsistentes, e ai vc já poderia ter uma definição pela quantidade de números informados, poderia até usar um case.

flw!!!
bom já q ninguém nunca te respondeu, e isso pode não ser especifico do menta, deixa eu perguntar....., qual o problema de se fazer o if????? tem tb o numero.... CPF é 11, CNPJ é 14, já pensou num flag "F"isico e "J"uridico, oq vc queria, alguma forma de se definir isso em tempo de execução, uma especie de reflection ??? desculpe se estiver falando bobeira...

flw!!
Que bom, é realmente simples.


YkyMatt wrote:



Pra ativar esse provedor de conseqüências consegui fazer de duas maneiras:

Como o Lupos falou que faz:
 


mas justiça seja feita, foi Sergio "saoj" que me ajudou a fazer assim.O merito é dele.
Eu to usando CoC e template. Se eu não estou enganado acho q vc tá querendo o mesmo , pra mim tá funcionando legal, dá uma sacada no codigo.....

coloca Controller.setConsequenceProvider(new ConsequenceProvider()

ApplicationManager
Code:
  public void init(Context application) {
          
        Controller.setConsequenceProvider(new ConsequenceProvider() {
 
             public Consequence getConsequence(String action, Class<? extends Object> actionClass, String result, String innerAction) {
                  
                StringBuffer sb = new StringBuffer(128);
         
                sb.append("/").append("WEB-INF/jsp/").append("/");
         
                sb.append(result).append(".page");
         
                return new Forward(sb.toString());
                 
             }
         } );
 
        /////// etc ....
    }
 
  public void loadActions() {
     ActionConfig ac = new ActionConfig("/MenuAction",MenuAction.class);
     ac.addConsequence(SUCCESS,fwd("WEB-INF/jsp/template/body.page"));
     ac.addConsequence(ERROR,fwd("WEB-INF/jsp/template/sempag.page"));
     ac.addFilter(common);
     addActionConfig(ac);
  }
 
 
 
 




Sergio senão substitui jsp por page o template não funciona. , essa mistura ficou muito flexível, agora q entendo não vejo complicação alguma. tá muito simples. como é de praxe no menta



valeu.
Cara só para ter certeza vc já leu isso aqui ... http://www.mentaframework.org/authorization.jsp

falou.
Ice... legal tb seria... nesse F.A.Q demonstrar a integração com o Mentabeans, penso que poderia ser ainda mais proveitoso para o framework, pensando de uma maneira geral so um palpite.
Completando... até onde eu sei no menta se vc fizer um redirect os dados do output da action são zerados/limpo/perdido, coisa q não acontece com o forward.

se estiver errado alguém me corrija.

Falou.
nesse tópico http://www.guj.com.br/posts/list/22446.java tem essa diferença, mas acho q o melhor é vc postar coisa mais especifica do Mentawai.... e de Java/Web neste último endereço q te passei, suas dúvidas serão respondidas com maior rapidez

Valeu.
Cara não sei nem como agradecer ... por esse F.A.Q , se encaixa perfeito pra mim, valeu mesmo
 
Profile for Lupos -> Messages posted by Lupos [75] Go to Page: Previous  1, 2, 3, 4, 5 Next 
Go to:   
Powered by JForum 2.1.6 © JForum Team