[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: flaviomreis  XML
Profile for flaviomreis -> Messages posted by flaviomreis [75] Go to Page: 1, 2, 3, 4, 5 Next 
Author Message
Olá IceW0lf!

Brigadão pela atenção.

Bom, então não preciso por a tag <mtw:menuconfig na <head> não é mesmo? E de onde vem o arquivo menu.css? Não existe nem no menta nem no smartMenu. Já o arquivo c_addon_fs_slide.js tem somente no menta e não no smartMenu. Ou entendi errado e preciso manter o <mtw:menuconfig no <head> para que ele extraia estes arquivos automaticamente?

Abraço
Boa tarde colegas!

É a primeira vez que estou implementando um Menu Drop Down em alguma aplicação e achei muito interessante. Gostaria de adicionar um esquema de cores do macos que baixe em http://www.smartmenus.org/samples6/style/mac-osx/?mode=download&type=zip, mas não tenho idéia de onde coloco estes arquivos, afinal, pelo que me parece, os arquivos de menu são disponibilizados pelo menta quando da executão da tag <mtw:menuconfig na head do template.
Aliás, ficou bem lega, quando o usuário faz login, na action crio o menu e coloco na session e automagicamente a tag <mtw:menu obtém o menu para mim.
Desculpe a ignorância se for algo muito simples, mas realmente procurei e não encontrei como fazê-lo.
Abraço a todos.
Brigadão mesmo IceWolf, vou testar na segunda-feira. Acho que peguei a manha.

Bom final de semana a todos.
Fiz isto e não mudou em nada, meu DAO continua com a conexão nula...
Code:
 public class MaterialDAO {
     private Connection conn;
 
 /*
     public MaterialDAO(Connection conn) {
         this.conn = conn;
     }
 */
 
     public Material getMaterial(long id) throws Exception {
 //Se verifico aqui a conn é null
 ...
     }
 


Assim, no método getMaterial eu tenho uma conn nula, ou seja, não está sendo injetado.

Continuo tendo que passar a conn no momento da instanciação.
Boa tarde gurizada, eis que estou aqui novamente sugando vosso saber.

Em meu ApplicationManager já consigo injetar uma conexão do pool diretamente em uma propriedade da action:
Code:
 
     @Override
     public void init(org.mentawai.core.Context application) {
         this.connHandler = new DBCPConnectionHandler("oracle.jdbc.driver.OracleDriver", "jdbc:oracle:thin:@//cor-pae-bdlx:1521/dfolx", "xxxxx", "xxxxx");
 
     }
     @Override
     public void loadActions() {
         filter(new ConnectionFilter("conn", connHandler));
         filter(new InjectionFilter());
         filter(new DIFilter());
         di("conn", Connection.class);
 .
 .
 .
 }
 


Code:
 public class VerDetalhesMaterial extends BaseAction {
     private Connection conn;
     @Override
     public String execute() throws Exception {
         //Connection conn = (Connection) input.getValue("conn");
         int id = input.getInt("id", 0);
 
         MaterialDAO materialDAO = new MaterialDAO(conn);
         Material material = materialDAO.getMaterial(id);
 


Então, recebo uma conexão automagicamente na Action e instancio um DAO enviando a conexão para o DAO.

O que eu queria era receber esta conexão diretamente no DAO, acho que além de IoC (do ConnectionFilter) terei que configurar DI em algum lugar só que já tentei de várias maneiras e não consegui. Estudei o mybooks-ACTION e nada...

Existe como fazer o que quero?

Abraços povo.
Ainda não consegui contornar este problema. Alguém já tem alguma solução? De outra forma terei que abandonar o uso do inputMoney.

Obrigado
Bom dia!

Eu gostaria de poder tratar os resultados SUCCESS e ERROR da minha action solicitada pelo MentaAjax. Eis meu cenário:
Tenho um jsp assim:
Code:
     <form name="form1" method="post" action="FormMateriais.add.mtw" enctype="multipart/form-data">
                 <mtw:inputText name="id" size="10" maxlength="10"/>
                 <mtw:inputText name="descricao" size="80" maxlength="80"/>
                 <input type="button" value="Adicionar" onclick="doSubmit();"/>
     </form>
 
 <script type="text/javascript">
     function doCheckData(){
         var r = new mtw.request();
         r.setUrl("FormMateriais.addCheck.mtw");
         r.onSuccess(
             function(trans) {
                 var rq = new mtw.response(trans);
                 alert(rq.getString());
                 $("mensagem").innerHTML = rq.getString();
                 document.form1.submit();
             }
         );
         r.onError(
             function(trans) {
                 var rq = new mtw.response(trans);
                 alert(rq.getString());
                 $("mensagem").innerHTML = rq.getString();
             }
         );
         r.addParameter("id", $('id').value);
         r.addParameter("descricao", $('descricao').value);
         r.send();
     }
 
     function doSubmit() {
         if (confirm("Confirma os dados?")) {
             doCheckData();
         }
     }
 
 </script>
 


Ou seja, ao acionar o botão Adicionar é disparado o método javascript doSubmit() e este, em caso de confirmação, dispara o método doCheckData() o qual faz uma requisição corretamente à minha action (abaixo) e executa onSuccess ou onError conforme o resultado da action. O problema é que esta chamada document.form1.submit(); em onSuccess é executada mesmo que o resultado da action seja ERROR e seja executada onError, pois a action FormMateriais.add.mtw é executada, ou seja, o submit está sendo feito de qualquer forma. Estou desconfiando que onSuccess também seja executado depois de onError, pois se comento //document.form1.submit(); minha action FormMateriais.add.mtw não é executada.

Code:
 
     public String addCheck() throws Exception {
         Connection conn = (Connection) input.getValue("conn");
         long id = input.getLong("id", 0);
 
         if (id < 1) {
             output.setValue("message", "O id não pode ser em branco ou 0.");
             return ERROR;
         }
 
         String descricao = input.getString("descricao");
 
         MaterialDAO materialDAO = new MaterialDAO(conn);
         boolean foundMaterial = materialDAO.findMaterial(id, descricao);
 
         if (foundMaterial) {
             output.setValue(AjaxConsequence.KEY, "AJAX: Já há outro item com esta descrição ou id.");
             return ERROR;
         }
         
         output.setValue(AjaxConsequence.KEY, "AJAX: Item cadastrado com sucesso.");
 
         return SUCCESS;
     }
 
 


E no ApplicationManager:
Code:
         action("/manager/FormMateriais", FormMateriais.class, "add").on(SUCCESS, fwd("/manager/FormMateriais.mtw"));
         action("/manager/FormMateriais", FormMateriais.class, "addCheck").ajaxOk(new JSONGenericRenderer()).ajaxError(new JSONGenericRenderer());
 


Onde pode estar o problema?

Obrigado
Desculpe IceWolf, não foi por falta de pesquisa no fórum, o problema é que não procurei com as palavras certas. Obrigado e vou procurar não mais importuná-los.
Bom dia!

Atualmente tenho utilizado somente o método onchange() no mtw:select para fazer uma requisição Ajax e popular outro mtw:select. Tudo está funcionando perfeitamente, porém, gostaria de apurar isto e fazer com que o mtw:select seguinte também seja populado quando ocorrer um onblur no mtw:select abaixo. E como faço para definir outro método, pois já tentei colocar "extra='onchange=doRequest(); onblur=doRequest();" e "extra='onchange=doRequest();" "extra='onblur=doRequest();" e não funcionaram...

Code:
 <mtw:select id="classe" name="classe" list="classe" extra="onchange=doRequest();"/>
 


Abraços
-- Isto está no meu ApplicationManager
Code:
 action("/AdicionarMaterialCatalogo", AdicionarMaterialCatalogo.class).on(SUCCESS, fwd("AdicionarMaterialCatalogo.preencheCombo.mtw"));
 
 action(AdicionarMaterialCatalogo.class, "preencheCombo").on(SUCCESS, fwd("/manager/formMaterial.page"));
 


-- Isto no meu formMaterial.jsp
Code:
 <form action="AdicionarMaterialCatalogo.mtw" method="post">
 


Estava tudo funcionando perfeitamente, no sentido dos meus <mtw:input/> manterem os valores após o post, mas depois que tive que adicionar enctype="multipart/form-data" à tag form deste formulário, não mais meus <mtw:input/> mantém os valores após o post.

Há alguma forma de corrigir isto? Até já tentei colocar os valores de volta no output só que não funcionou de toda forma.

Abraços

O pior é que não, arrumei isto e mesmo assim o select subgrupo fica preenchido e selecionado. Para tentar amenizar a situação fiz isto:

Code:
 <mtw:select name="classe" id="classe" list="classes" emptyField="true" extra="onchange=loadGrupos();loadSubGrupos();"/>
 


Ou seja, adicionei o loadSubGrupos(); ao onchange do select das classes.

Pelo menos ele seleciona o item "-" em subgrupos só que ficam os elementos.

Obrigado
Boa tarde!

Novamente estou implementando as combo dinâmicas com o ajaxSelect e tudo praticamente perfeito, a não ser pelo detalhe de o meu terceiro combo (digamos que se eu estivesse usando país, estado, cidade, seria o combo das cidades), não esvaziar quando seleciono outro item no combo país, diferentemente do que acontece com o combo estado que seleciona o item "-" e ambos estão com emptyField="true", conforme abaixo:

Code:
                 <tr>
                     <td>Classe:</td>
                     <td><mtw:select name="classe" id="classe" list="classes" emptyField="true" extra="onchange=loadGrupos();"/></td>
                 </tr>
                 <tr>
                     <td>Grupo:</td>
                     <td><mtw:ajaxSelect name="grupo" id="grupo" url="Filtro.getGrupos.mtw" functionName="loadGrupos" sourceValue="classe" emptyField="true" onchange="loadSubGrupos();"/></td>
                 </tr>
                 <tr>
                     <td>Sub-Grupo:</td>
                     <td><mtw:ajaxSelect name="subgrupo" id="subgrupos" url="Filtro.getSubGrupos.mtw" functionName="loadSubGrupos" sourceValue="grupo" emptyField="true" onchange="alert(this.value);"/></td>
                 </tr>
 


Existe alguma forma de esvaziar o terceiro combo quando muda a seleção do primeiro?

Obrigado e abraços
Boa tarde!

Estou utilizando a dyntag inputMoney e está praticamente tudo perfeito menos um problema que acontece quando seleciono todo o texto do campo para digitar outro, em vez de o texto selecionado ser substituído pelo texto digitado, o texto digitado é acrescentado ao final do texto selecionado, mais ou menos assim: tenho o conteúdo 10,00 e se o seleciono para digitar outro valor, por exemplo 5, o conteúdo passa a ser 100,05. Isto ocorre tanto com Firefox quanto Internet Explorer.

Vocês poderiam me indicar como corrigir este comportamento?

Obrigado e abraços

rfgallon wrote:
Mas não esta fazendo, fiz da seguinte forma e ele mostrou como saida "valor"

Code:
 conv.put("valor", new MoneyConverter());
 


Code:
 public class MoneyConverter implements Converter {
 
 	public Object convert(String object, Action innerAction) throws ConversionException {
 		System.out.println(object);
 	}
 }
 
 


Só para não deixar este post sem resposta, então complemento o Converter:

Code:
 public class MoneyConverter implements Converter {
 
 	public Object convert(String object, Action innerAction) throws ConversionException {
 		String value = action.getInput().getString(object);
 		System.out.println(value);
 	}
 }
 


Então para tratar o valor basta operar sobre o value, como por exemplo e citado acima, value = value.replaceAll("\\.", "").replaceAll(",", ".");

Abraços
1 Flávio Menezes dos Reis
2 2 Anos
3 6 Meses
4 Nenhum
5 A facilidade de uso e a comunidade
6 Várias, mas por eu ser leigo em Java ainda, IOC, DI
7 Não consigo achar algo que eu não goste, porque todas minhas dificuldades são por minha "leiguice"
8 Ler minha mente. Brincadeirinha, acredito que o projeto é o melhor framework Model2 ou MVC (não sei ao certo) que existe e o pessoal sempre acompanha e desenvolve facilidades pra tudo que se pense ou se crie em outros projetos, basta que continue assim estará perfeito.

Abração.
 
Profile for flaviomreis -> Messages posted by flaviomreis [75] Go to Page: 1, 2, 3, 4, 5 Next 
Go to:   
Powered by JForum 2.1.6 © JForum Team