Author |
Message |
|
Olá a todos,
Estou tendo problemas com a tag mtw:inputMoney do Menta, tenho um formulário de edição que recebe os valores vindos de minha action. Em um dos campos eu tenho valor monetário. Quando uso a tag
Code:
<mtw:out value="vrMovimento" />
ou mtw:input normal o valor exibido é o correto, mas quando uso
Code:
<mtw:inputMoney name="vrMovimento" dec_point="," thousands_sep="." textAlign="right" decimals="2" />
o problema ocorre, arrendondamentos muito loucos.
Exemplo: o valor correto é 1095101.57 mas é exibido 1.095.101,62 (ERRADO! com o inputMoney), conforme imagem em anexo.
Percebo que ocorre somento quando o valor é superior a 1 milhão. Seria um bug?
Alguém pode me ajudar?
Abraços.
|
 |
|
Robert,
Quais jar's devo substituir para atualizar pro menta 1.12? Tentei só substituindo o mentawai.jar, mas agora estão ocorrendo erros de javascript em todas as páginas, apesar delas continuarem funcionando normalmente.
FireBug mostra os seguintes erros (nos arquivos effects.js e ac.js respectivamente):
Code:
Object.isString is not a function
get("global")effects.js (line 227)
if (!Object.isString(queueName)) return queueName;
Autocompleter.Base.prototype.getTokenBounds has no properties
Autocompleter.Base.prototype.getTokenBounds.getFirstDifferencePos = function(new...
|
 |
|
Já tentei modificando o <welcome-file-list>, no meu web.xml, mas não funcionou.
Quanto a questão de acessibilidade, é porque fere um dos pontos de verificação definido pela W3C de acessibilidade.
Abraço.
|
 |
|
ffrizzo,
basta colocar em requestURI="SuaAction", sendo a "SuaAction" a que gera a sua lista. Você tem certeza de que o número de registros encontrados pela action não é igual ou menor ao que está definido como quantidade a ser mostrada do displaytag através do pagesize? Pode ser que tenha só uma página mesmo a ser exibida.
|
 |
|
Olá galera,
Gostaria de saber como faço para definir uma action (exemplo: principal.mtw) como a página inicial do site.
O problema é o seguinte, essa action é que monta página inicial e carrega as notícias. Atualmente uso uma página que redireciona para a action, mas por questão de acessibilidade queria mudar esse procedimento.
Abraço.
|
 |
|
Uso a versão 1.11.
|
 |
|
Faltava o cabeçalho do jsp, agora está carregando os dados na tabela, além disso, a sintaxe do innerHTML dessa forma Code:
resp.innerHTML("ListBeanDiv")
não funcinou, mas qndo coloquei desta forma Code:
$("ListBeanDiv").innerHTML = resp.getString();
funfou...
Valeu.
|
 |
|
Pode crê Robert,
Já uso o firebug e com ele vi que a lista está chegando nula no jsp com o displaytag. Mas na action eu testo e ela está retornando registros pois eu testo em uma página normal e ela funciona. Imagino que seja algo no redirecionamento ou na injeção.
Abraço.
|
 |
|
Valeu amigos, já entendi como funciona, mas ainda não funcionou na minha aplicação. Vou colocar meu código aqui para vcs olharem. Quando clico no botão que chama a função para carregar a lista no container só fica aparecendo a mensagem do useLoadingMessage().
TestAction.class
Code:
public String getListBean() throws SQLException, ParseException {
NotaLiquidacaoDAO nlDAO = new NotaLiquidacaoDAO();
Collection<TabelaNl> notasLiquidacao = nlDAO.getLista("KEY");
System.out.println(" *** " + notasLiquidacao.size()); // MOSTRA O NÚMERO CORRETO DE REGISTROS
output.setValue("notasLiquidacao", notasLiquidacao);
return SUCCESS;
}
ApplicationManager:
Code:
action("/TestAction", TestAction.class, "getListBean").fwdOk("/movimento/table.jsp");
table.jsp
Code:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="/WEB-INF/lib/mentawai.jar" prefix="mtw" %>
<%@ taglib uri="http://displaytag.sf.net" prefix="display"%>
<display:table name="notasLiquidacao" id="notasLiquidacao" defaultsort="1" style="width: 100%" >
<display:column property="nrLancamento" title="Nº NL" />
<display:column property="dtLancamento" title="DATA NL" format="{0,date,dd/MM/yyyy}" />
<display:column property="vrLancamento" title="VALOR" format="{0, number, #,##0.00}"/>
</display:table>
index.jsp
Code:
<script type="text/javascript">
function loadListBean(){
var r = new mtw.request();
r.setUrl("TestAction.getListBean.mtw");
r.onSuccess(getListBean);
r.useLoadingMessage();
r.send();
}
function getListBean(data){
var resp = new mtw.response(data);
resp.innerHTML("ListBeanDiv");
}
</script>
<input type="button" value="LoadList" onclick="loadListBean();">
<input type="button" value="Limpar" onclick="$('getListBeanDiv').innerHTML=''">
<div id="ListBeanDiv"> </div>
Valeu pela ajuda.
|
 |
|
Beleza Robert,
Eu já conheço e estou usando displaytag junto com o menta, mas agora tô precisando também fazer algumas funcionalidade usando ajax, baixei os exemplos que tu fizeste e entendi como funcionam, já até uso pra outras coisas.
Já o innerHTML, acho que é um método que permite adicionar um texto a um objeto do HTML, né?
Eu sei como funciona o displaytag, só não vi no exemplo onde é feita a injeção do conteúdo do table.jsp no index.jsp. Fazendo o forward para table.jsp a tabela será injetada em index.jsp? isso que não está claro pra mim.
Fiz um teste, configurando tudo com está no exemplo, mas quando clico no botão nada é carregado. Na minha action eu monto um lista de beans, coloquei umas mensagens no código e na console posso conferir que a lista tem os beans, inclusive é montada uma outra tabela usando displaytag no meu jsp com esses objetos sem usar o mentaajax.
Por isso fiz a pergunta no outro post sobre o relacionamentos dos jsps.
Valeu pela atenção.
|
 |
|
No exemplo tem 2 jsps, o index.jsp e o table.jsp. Imagino que a tabela será renderizada em index.jsp, mas o redirecionamento feito no AppManager é feito para table.jsp, que sei que neste é que deverá receber a lista para montar a tabela. Mas não vejo onde este jsp é incluido no index.jsp.
Tentei fazer tudo no mesmo jsp com o redirecionamento para a mesma página, não dá erro mas não monta a tabela. Detalhe, tenho outro displaytag nesta mesma página pra teste sem usar mentajax e ele está funcionando, carregando os dados normalmente.
Outra coisa, porque usar:
Code:
action("table", MinhaAction.class, "build").fwdOk("table.jsp");
e não algo do tipo:
Code:
action("table", table.class, "build").ajaxOk(new JSONGenericRenderer())
Outra dúvida, eu posso usar na minha action:
Code:
output.setValue(AjaxConsequence.KEY, list);
em vez de:
Code:
output.setValue("test", list);
Abraço.
|
 |
|
Olá Robert,
Obrigado pelas respostas.
Dei uma olhada no exemplo que está no Mentawai Recipes (http://recipes.mentaframework.org/posts/list/0/58.page), mas não entendi o porque de usar arquivos jsp separados e nem como é feita a associação deles, ou seja, como é que a tabela montada com displaytag pegará a lista retornada da action.
Tentei adaptar ao meu codigo mas não ta funcionando, fica só loadinng...
coloquei o a tabela displaytag dentro do div que será atualizado. O que deve estar errado?
|
 |
|
Olá a todos,
Quero utilizar o MentaAjax na seguinte situação, tenho uma lista que me é retornada por uma action que busca os dados no banco, e no meu jsp uso DisplayTag para exibi-la. Mas preciso também inserir e atualizar esses registros através dessa mesma página.
Gostaria de receber sugestões de como posso fazer isso e ainda utilizar o Displaytag. Estou estudando o material do Robert, mas ainda não vi uma forma de juntar as coisas.
Valeu.
|
 |
|
Valeu a dica, vocês têm razão, eu uso displaytag que usa um estilo com nome TABLE igual ao do calendário na mesma página.
Abraço.
|
 |
|
Olá a todos,
Estou com o seguinte problema com a tag inputDate do Menta: quando clico no ícone do calendário ele aparece esticado para a direita conforme a imagem, tudo está funcionando, consigo selecionar as datas, alterar e consultar do banco, mas na exibição ele fica com o limite do lado direito do calendário fixo na extremidade direita do navegador. Já testei em diversos browsers, mas todos apresentam o mesmo comportamento, e quando tento redimensionar ou mover, o lado direito continua fixo.
A seguir o trecho de código no meu jsp.
Code:
<span class='elementoFormulario'> <label>Data Movimento</label>
<div >
<mtw:inputDate name='dtMovimento'
id='dtMovimento' size='12' maxlength='10' textAlign='right' dateFormat='dd/mm/yyyy'
title='Informe a data do cadastro'
titleButton='Clique para abrir o calendário' />
</div>
</span>
Abraços.
|
 |
|