| Author |
Message |
|
|
To sacando o que você quer dizer
mas não posso quebrar a cabeça com isso agora
JasperConsequence eu ia por esse lado mesmo cara
fazer um lance pra depois que a ação
for efetuada que ao meu ver a ação seria a montagem do select , a compilação ou load do design do relatório.
alguma coisa depois dessa ação tem que mandar isso ai pro usuário.
mas não é impossível não se não ta dando pra desenrolar cara larga um scriptlet no jsp e espera eu ou outro cara fazer algum exemplo com o mentawai. na minha opinião o mentawai ta me ajudando e muito mas
vou ter q encarar isso ai tambem daqui a 1 mes, so vou me preocupar depois.
Atenciosamente,
Hélio Frota
|
 |
|
|
uso input do html mesmo
<input type="text" name="pergunta" value="${obj.pergunta}" />
que fica funcionando como o antigo desenvolvimento com
scriptlets
<input type="text" name="pergunta"
value="<%=(request.getParameter("pergunta") != null ?
request.getParameter("pergunta") : "" )%>" />
os camspos de data e moeda estou migrando pra
inputDate e inputMoney, os selects também estou
migrando pro select do mentawai como também
a geração de checkboxes dinâmicas, este último
eu fazia um c:ForEach e colocava o checkbox
dentro do laço, mas vi a tag checkboxes do mentawai
e é bem menos verbose.
Atenciosamente,
Hélio Frota
|
 |
|
|
Certo , vou simplificar o exemplo que uso para o perguntas freqüêntes no site ok..
Code:
package bean;
public class Pergunta {
...
private String pergunta;
private String resposta;
....
etc ...
Code:
public String execute() throws Exception {
//jogo a lista no output pra mostrar com o
//jstl
ArrayList lista = (ArrayList)PerguntaDao.getAll();
output.setValue("lista", lista);
return SUCCESS;
}
Code:
<c:forEach var="obj" items="${lista}" >
${obj.pergunta} <br />
${obj.resposta}
</c:forEach>
ou
<c:forEach var="obj" items="${lista}">
<c:out value="${obj.pergunta}" /> <br />
<c:out value="${obj.resposta}" />
</c:forEach>
Espero ter ajudado em alguma coisa.
Atenciosamente,
Hélio Frota
|
 |
|
|
to usando jstl por enquanto pra esse lance ai, mas quando sair no mentawai vou fazer refactor nao tenho preguiça de fazer nao, é melhor padronizar do que virar samba.
Queria poder participar da equipe do mentawai mas se eu fizer isso eu passo fome aqui no ceará :]
Atenciosamente,
Hélio Frota
|
 |
|
|
cara posso adiantar um lance mas tipo essa tua dúvida ta mais pra fórum de jasper reports do que mentawai não acha ?
vou trab com jasper e mentawai daqui a 1 mês mais ou menos quando eu for migrar mais um sistema pro mentawai,
mas acho que você não vai esperar até lá
mais vai uma ajuda :
Code:
response.setHeader("Expires", "");
response.setHeader("Cache-Control", "");
response.setHeader("Pragma", "");
response.setContentType("application/PDF");
byte[] relatorio = (byte[])session.getAttribute("array_byte");
ServletOutputStream out_pdf = response.getOutputStream();
response.setContentLength(relatorio.length);
out_pdf.write(relatorio, 0, relatorio.length);
out_pdf.flush();
out_pdf.close();
Cara to sem tempo, to responsável por 8 webapps ta animal o lance , mas
queria ter um tempo pra fazer umas receitas de bolo com cewolf, jfreechart ,
jasperreports essas e outras tecnologias.
Atenciosamente,
Hélio Frota
|
 |
|
|
tranquilo
não foi reclamação nem nada é que esse tipo de coisa é esperado onchange , onqualquercoisa.
Em relação ao hack eu não vejo problema algum, pra mim é beleza. não sei em relação aos religiosos.
Cara as tags estao muito legais , parabéns ao Alex Fortuna também inputDate e inputMoney são muito boas ta funcionando no firefox e no I$ e pra mim já ta bom de mais.
Atenciosamente,
Hélio Frota
|
 |
|
|
uma coisa que senti falta foi o onchange na tag de select mas
o mentawai ja ajuda tanto que fico até sem jeito de falar alguma coisa.
Atenciosamente,
Hélio Frota
|
 |
|
|
A vantagem do ListData é que vc pode usá-las com as tags do Mentawai para gerar os comboxes automaticamente
Cara vou usar essa tag do Mentawai é bem menos verbose
Code:
<mtw:select name="orgao" list="orgaos" />
Eu to usando muito jstl mas nada impede de colocar as tags que eu quizer do Mentawai.
Code:
<select name="orgao">
<c:forEach var="orgao" items="${orgaos}" >
<option value="${orgao.id}" >${orgao}</option>
</c:forEach>
</select>
Atenciosamente,
Hélio Frota
|
 |
|
|
Se for geral para todos os usuários, joga no application
É geral pra todos sim faz parte tanto de consulta quanto cadastro.
Na consulta implementa AuthenticationFree e estará disponível
no site do Tribunal de Contas (TCE/CE) , ou seja tem que estar disponível o tempo todo sem ficar indo buscar do banco.
Acho que vou colocar no application mesmo valeu ai pela dica Sérgio.
Jogar coisas na session não é uma boa prática de programação web, deve ser a última de suas alternativas
Eu também penso dessa forma boaglio, tanto que em minhas aplicações eu procuro manter na sessão somente o "usuário logado".
Atenciosamente,
Hélio Frota
|
 |
|
|
Primeiro de tudo parabéns de novo :]
Estou desenvolvendo mais uma webapp com o mentawai pra variar :]
Em várias telas preciso de comboboxes idênticos que são carregados do oracle o mentawai mais uma vez me deu alegria com a feature de Filtros Globais :].
Carrego o combo uma vez, jogo na sessão pra aliviar um pouco o servidor de banco e uso o combo em todas as telas do sistema.
Code:
public class OrgaoFilter implements Filter{
public OrgaoFilter() {
}
public String filter(InvocationChain chain) throws Exception {
Action action = chain.getAction();
Output output = action.getOutput();
if(action.getSession().getAttribute("orgaos") == null) {
action.getSession().setAttribute("orgaos",OrgaoDao.getAll());
}
else{
output.setValue("orgaos",action.getSession().getAttribute("orgaos"));
}
return chain.invoke();
}
public void destroy() { }
}
Sem contar que agora nao preciso mais replicar esse "carregamento" de combobox em mais nenhum lugar nesta aplicação. Acho que dá pra remover uns 5kg de byte code agora.
Mais uma vez obrigado.
Atenciosamente,
Hélio Frota
|
 |
|
|
depois clica num botão gravar...
Clica num botão gravar, isso deveria ser um request na minha opinião, um "gravado com sucesso" como resposta ou algo do tipo e ao clicar no menu seria outro request que não tem nada haver, ou seja , outra ação que não tem nada haver com o botão gravar.
Com isso o nome que estaria "grudado" nessa sua tag por default era para desaparecer já que o escopo request terminou depois que foi recebido o response da ação de gravar entende.
O nome ao meu ver so não "desgruda" dessa tag caso esteja no escopo session você tem certeza de que não está jogando a nível de session esse dado ?
Nos sistemas que estou fazendo e os que já fiz usando o mentawai eu separo claramente as ações, por exemplo clicar num botão salvar é uma ação que o usuário faz logo eu crio uma action pra isso ou na maioria das vezes crio algo Action.add, Action.delete, Action.update entende.
Faço redirect da seguinte forma , vi no site do mentawai o exemplo e funciona legal, fiz isso algo assim para redirecionar para a página de resultado da enquete no site do TCE/CE para não levar os dados pra página de resultado assim pude manipular para que o gráfico de resultado não se modifique ou seja não ocorra mais votação caso o usuário tecle F5.
Code:
ac = new ActionConfig("/Acao", Acao.class);
ac.addConsequence(Acao.SUCCESS, new Redirect("/algum_lugar.jsp", true));
ac.addConsequence(Acao.ERROR, new Forward("/outro_lugar.jsp.jsp"));
addActionConfig(ac);
Espero ter ajudado em alguma coisa...
Atenciosamente,
Hélio Frota
|
 |
|
|
Quando eu crio um input <mtw:input name="teste">, não perco o valor dele, ou seja, se tiver um outro formulário que tenha o <mtw:input name="teste">, ele vai receber o valor do formulário atrás
Depois de concluída uma requisição (request) ao servidor os dados se perdem, veja se você está jogando esses valores a nível de sessão (session).
Caso não esteja jogando os valores em sessão (session) então significa que a resposta (response) da sua requisição (request) ainda está disponível.
Não entendi também o que você quiz dizer exatamente, mas existe ainda a possibilidade de você estar fazendo um repasse (foward) e não um redirecionamento (redirect).
No foward você pode repassar valores, no redirect os você poderá zerar esses valores. Na verdade você pode zerar na marra tudo se quizer :]
Você está usando formulários "passo a passo" ? aqueles que o usuário clica em "NEXT", "NEXT","NEXT" ... ?
o_0 ?
Atenciosamente,
Hélio Frota
|
 |
|
|
Acho que a melhor maneira de fazer isso é criar um filter e uma tag lib.
ia ser o menos doloroso pra mudar todos seus programas
Certo é isso que estou fazendo mas gostaria de saber se o oficial para o mentawai vai ser com cookies ou session
Pelo menos mais um problema resolvido pro mentawai. :]
Atenciosamente,
Hélio Frota
|
 |
|
|
não vou criticar de maneira alguma sua solução :]]
so quero saber se por acaso eu desabilitar cookies no browser ainda vai funcionar. se sim vou fazer refactor em todos os sistemas que estão usando mentawai.
mas foi massa a idéia é essa Alexandre, eu fiz um lance pra ter que consertar meu problema mas queria mesmo que todo mundo ajudasse já que o mentawai ta ajudando muita gente
Valeu cara
Atenciosamente,
Hélio Frota
|
 |
|
|
|
Olha o "Evitando ressubimissão na marra" aqui no fórum :]
|
 |
|
|