[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: Lobo  XML
Profile for Lobo -> Messages posted by Lobo [841] Go to Page: Previous  1, 2, 3 ... , 55, 56, 57 Next 
Author Message
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 :]
Caros vou postar o código que estou usando para evitar o lance do F5 , botão de reload do browser ressubimissão de form. fiz um lance meio "tenho que dar um jeito logo nisso" mas seria interessante algo elegante estilo mentawai.
Mas to sem tempo galera... tirei umas coisas na minha cabeça e outras achei soltas na internet mas tá funcionando que é uma beleza :]

Na action:
---------------------------------------------------------------------------

String token = input.getStringValue("token");
InputRequest ir = (InputRequest)input;
HttpSession session = ir.getRequest().getSession();
if (token != null){
if (session.getAttribute("token") == null){
session.setAttribute("token", token);
}
else{
if (session.getAttribute("token").equals(token)){
output.setValue("erro", "Mandar o form novamente ? isso não te pertence mais !!");
return ERROR;
}
else{
session.setAttribute("token", token);
}
}
}

===========================================



no jsp :
--------------------------------------------------------------------------
<%@ taglib prefix="lobo" uri="/WEB-INF/lobo.tld" %>

<lobo:TokenForm idSession="<%=request.getSession().getId()%>"/>

===========================================



Uma classe:


import java.security.MessageDigest;

public class TokenForm {

private String token;

public TokenForm(String idSession) throws Exception{
long systime = System.currentTimeMillis();
byte[] time = new Long(systime).toString().getBytes();
byte[] id = idSession.getBytes();
try{
MessageDigest md5 = MessageDigest.getInstance("MD5");
md5.update(id);
md5.update(time);
token = toHex(md5.digest());
}
catch(Exception e){
throw new Exception(e);
}
}

private String toHex(byte[] digest) {
StringBuffer buf = new StringBuffer();
for(int i = 0;i < digest.length;i++)
buf.append(Integer.toHexString(digest[i] & 0x00ff));
return buf.toString();
}

public String toString() {
return token;
}

public String getToken() {
return token;
}

public void setToken(String token) {
this.token = token;
}

}
=====================================


A classe que representa a tag:


package util;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.TagSupport;

import util.TokenForm;

public class TokenFormTag extends TagSupport
{
private String idSession;

public int doStartTag() throws JspException {
try{
TokenForm tokenForm = new TokenForm(idSession);
pageContext.getOut().print("<input type='hidden' name='token' value='"+ tokenForm +"'>");
}
catch(Exception e){
throw new JspException(e);
}
return SKIP_BODY;
}

public String getIdSession(){
return idSession;
}

public void setIdSession(String string) {
idSession = string;
}
}

==========================================

O TLD da tag


<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>lobo</short-name>
<display-name>lobo</display-name>
<description>lobo</description>

<tag>
<name>TokenForm</name>
<tag-class>util.TokenFormTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<name>idSession</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>

</taglib>

=========================================

Atenciosamente,
Hélio Frota
ola,

estou usando da seguinte forma:

InputRequest ir = (InputRequest)input;
String ip = ir.getRequest().getRemoteHost();

atenciosamente,
Hélio Frota
poxa mudar o nome a essa altura fica chato tenho que fazer refactor em 6 aplicacoes :]

mas acho que o lance de ligar o nome as ilhas é legal melhor do que lembrar de uma bala de menta na minha opiniao. Tem mais uma coisa pessoal, o cliente nao vai querer saber disso ele nao vei ver os nomes de pacotes vai ver sua aplicação rodando, penso assim.


Aqui no ceará tapestry (TAPESTRI , TAPESTRAI, TÊIPESTRAI,TÊIPESTRi) deu pra entender :]]

Teve uma que foi ótima com python , chamaram de "FAITON" confesso que doeu nos meu ossos !!!

atenciosamente,
Hélio Frota
lomboz e eclipse wtp que na realidade da no mesmo ao meu ver mas acho que lomboz é um pouco mais pesado
provável ser problema no sistema operacional ou browser isso não tem nada haver com o mentawai pois já fiz testes com locale do java e lang do sistema operacional para resolver problemas com valores em moeda. pode ter certeza que não é com mentawai.


Atenciosamente,
Hélio Frota
Caro Sérgio,

A adoção do mentawai como framework web foi aceita com elogios pela Diretoria de informática do TCE/CE , o Diretor tem uma visão aberta em relação a adoção de tecnologias que realmente trazem resultados e o mesmo participa e acompanha o desenvolvimento.

O site do Tribunal de Contas do Estado do Ceará já está no ar pelo endereço www.tce.ce.gov.br , Powered by Mentawai está na página inicial do site. :]

Sistemas desenvolvidos por mim no Tribunal que estão usando o mentawai:

-Site (Powered by Mentawai);
-Gerenciador de conteúdo do site (Powered by Mentawai);
-Sistema gerenciador de faleconosco (Powered by Mentawai);
-Sistema de controle único de acesso de usuários (Powered by Mentawai);
-Sistema de indicadores da ISO 9001 - 2000 (Powered by Mentawai);
-Sistema de acompanhamento de processos (em andamento);
-Sistema de ocorrências e chamados de suporte de informática (Powered by Mentawai);
-Sistema de contratos e convênios (em andamento);

Gostaria de ressaltar que houve um ganho na produtividade uma aplicação que tinha prazo de 3 meses consigo fazer em 1 mes tranquilamente com mentawai e dbutils, com gráficos cewolf etc pra simplificar estou tendo menos problemas com o mentawai.

Reconheço que muita gente trabalha e os diretores de TI não pensam em outra coisa fora o que há no padrão de mercado, mas os desenvolvedores têm que mostrar que existem outras soluções até porque o cliente na maioria das vezes não quer saber o que está dentro do código, muitos deles nem sabem o que é código :]


Atenciosamente,
Hélio Frota
"Tb se vc quiser contribuir com código fique a vontade para discuti-lo aqui no forum e se for do seu interesse e os outros membros aprovarem, vc poderá se tornar um commiter, isto é, desenvolvendor com conta de CVS.


Caro Sérgio,

Tenho interesse sim em contribuir de alguma forma, afinal o mentawai me ajudou e nada mais justo ajudar o projeto de alguma forma também.
Reconheço que o meu tempo não está tão favorável para uma assistência full em relação a contribuições de código ao mentawai, mas gostaria de tentar.
Gostaria de ser um developer se os outros membros concordarem, e também de sugerir, quem sabe, uma seção no site na qual eu pudesse enviar trechos de códigos para maximizar de alguma forma o uso do mentawai por parte de novos desenvolvedores que estão aprendendo java.

Atenciosamente
Hélio Frota
Olá, estou utilizando o mentawai e espero que o projeto prossiga pois a filosofia desse framework é bastante interessante no que diz respeito ao "NO xml !" e outras coisas.

Sou analista do Tribunal de Contas do Estado do Ceará (www.tce.ce.gov.br) e gostaria de ressaltar que o Tribunal está passando por um amadurecimento tecnológico no sentido da aceitação e adoção de linux em clientes e servidores e não só mudança de plataforma operacional mas no que diz respeito à ambiente de desenvolvimento. Atualmente estou responsável pela migração de sistemas (com sérios bugs que comprometem o funcionamento) baseados em struts para mentawai e os resultados até agora estão sendo excelentes.

O atual site(www.tce.ce.gov.br) está utilizando uma ferramenta de gerencia de conteúdo opensource o opencms (www.opencms.org) , mas já existe uma nova versão do site que irá rodar com mentawai em algumas partes, pois já fiz a implementação de um gerenciador de conteúdo específico para o site usando mentawai como framework web.

uma excelente combinação de mentawai + dbutils + mysql + jstl + tomcat rodando num servidor slackware mantido por mim para hospedar o site e outros serviços.

Resolvi utilizar as tags jstl pois já conheço muito bem e não vejo porque não utilizá-las.

Em breve 3 aplicações usarão mentawai como framework e se eu tiver um pouco de sorte mais outras 2 serão migradas do struts para o mentawai.

Agradeço aos responsáveis por criarem este framework porque sou usuário de linux especificamente slackware, gosto de um pouco mais de liberdade para fazer as coisas de forma otimizada e livre, assim o mentawai como framework está me dando oportunidade de trabalhar com esse pensamento, coisa que não consegui com struts e webwork.

Hélio Frota
Dep. info - Tribunal de Contas do Estado do Ceará
 
Profile for Lobo -> Messages posted by Lobo [841] Go to Page: Previous  1, 2, 3 ... , 55, 56, 57 Next 
Go to:   
Powered by JForum 2.1.6 © JForum Team