| Author |
Message |
|
|
ricardojlrufino wrote:
Rpz, depende pra que você vai querer usar esse MAP, pq dependendo do caso vc pode usar o objeto Props do mentawai.
Depois vou procurar uma solução melhor para você, afazer com que a classe Props seja um Map.
OLá Ricardo,
Segue trechos do código pra vc entender melhor. Fique a vontade para sugerir outra coisa...
Code:
##############################Arquivo Properties#####################################################
logo.UnidadeID.001 = logoUnidadeA
logo.UnidadeID.002 = logoUnidadeB
logo.DepartamentoID.001 = logoDepartamentoA
logo.DepartamentoID.002 = logoDepartamentoB
###############################AppManager############################################################
Enumeration enumeration = propriedades.propertyNames();
while(enumeration.hasMoreElements()){
String elemento = enumeration.nextElement().toString();
mapaPropriedades.put(elemento,propriedades.getProperty(elemento));
}
application.setAttribute("mapaPropriedades", mapaPropriedades);
###############################Action#################################################################
mapaPropriedades = (Map<String, String>) application.getAttribute("mapaPropriedades");
/* Pega o nome do logo da Unidade a qual pertence o usuário logado*/
String logoUnidadeID = mapaPropriedades.get("logo.UnidadeID." + usuario.getDono().getUnidade());
/* Pega o nome do logo do Departamento a qual pertence o usuário logado*/
String logoDepartamentoID = mapaPropriedades.get("logo.DepartamentoID." + usuario.getDono().getUnidade());
output.setValue("logoUnidadeID", logoUnidadeID);
output.setValue("logoDepartamentoID", logoDepartamentoID);
###############################JSP#################################################################
<img id="${logoUnidadeID}" src="img/tabelaHorario/${logoUnidadePrint}" />
<img id="${logoDepartamentoID}" src="img/tabelaHorario/${logoDepartamentoPrint}" />
Obrigado!!!
|
 |
|
|
saoj wrote:
Rodrigo wrote:
ricardojlrufino wrote:
Opa, propriedades.propertyNames() , não existe mais, você deve usar
propriedades.get()..
Então Ricardo, mas olha como eu a estava usando:
Code:
Enumeration enumeration = propriedades.propertyNames();
while(enumeration.hasMoreElements()){
String elemento = enumeration.nextElement().toString();
mapaPropriedades.put(elemento,propriedades.getProperty(elemento));
}
ALguma sugestão?
Obrigado!
Vc está querendo listar todas as entradas do Props, mas isso não é muito comum para um arquivo de propriedades. Ok, ok, o Props poderia suportar, mas o problema é que ele tem 3 propriedades dentro dele, default, local e real. Aí já viu o problema para listar isso.
Tem como vc alterar a sua aplicação para usar Props ao invés de Map? Caso negativo vc vai ter que pegar as propriedades um a um e colocar no map. O props espera que vc saiba o que vc quer dele, e não que ele te dê tudo que foi configurado.
O problema que eu queria alimentar o arquivo properties com novas entradas, e não precisar alterar o código...
Mas enfim, se não houver outro jeito...
Obrigado pela informação!
|
 |
|
|
ricardojlrufino wrote:
Opa, propriedades.propertyNames() , não existe mais, você deve usar
propriedades.get()..
Então Ricardo, mas olha como eu a estava usando:
Code:
Enumeration enumeration = propriedades.propertyNames();
while(enumeration.hasMoreElements()){
String elemento = enumeration.nextElement().toString();
mapaPropriedades.put(elemento,propriedades.getProperty(elemento));
}
ALguma sugestão?
Obrigado!
|
 |
|
|
[code]
ricardojlrufino wrote:
O erro em questão é de compilação ...
Ou é quando a aplicação está iniciando ?
Olá Ricardo,
O erro acontece em tempo de projeto:
O eclipse sugere que eu devolva um Props usando a linha abaixo
getProperties();
ou seja
Props propriedades = getProperties();
ao invés de :
Properties propriedades = getProperties();
Porém,
mais para frente no código eu uso :
propriedades.propertyNames()
e essa propriedade não está disponivel no Props...
Será que consegui passar o problema?
Valeu!!!
|
 |
|
|
Pessoal,
Outro problema...
Antes eu tinha o seguinte código:
Code:
public void init(Context application){
Properties propriedades = getProperties();
String emailServer = propriedades.getProperty("email.server");
...
}
Agora não funciona mais com o menta 2.0, o que devo fazer?
Alguém já teve esse problema no menta 2.0?
Obrigado
|
 |
|
|
Olá pessoal,
Estou usando um método da nova json-lib, porém, o menta reclamou em outro ponto do meu programa:
Code:
java.lang.NoSuchMethodError: net.sf.json.JSONObject.put(Ljava/lang/String;Ljava/lang/Object;)Lnet/sf/json/JSONObject;
at org.mentawai.ajax.renderer.JSONGenericRenderer.convertBean(JSONGenericRenderer.java:180)
at org.mentawai.ajax.renderer.JSONGenericRenderer.convertListBean(JSONGenericRenderer.java:227)
at org.mentawai.ajax.renderer.JSONGenericRenderer.buildJSON(JSONGenericRenderer.java:102)
at org.mentawai.ajax.renderer.JSONGenericRenderer.encode(JSONGenericRenderer.java:77)
at org.mentawai.ajax.AjaxConsequence.execute(AjaxConsequence.java:106)
at org.mentawai.core.Controller.service(Controller.java:655)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Unknown Source)
Eu fazia uma requisição ajax, porém, agora dá esse erro ai de cima.
Se alguém souber o que pode ser. Obs. Tentei colocar as dependências da minha nova biblioteca json:
json-lib-x.x-jdk13
Dependências:
?jakarta commons-lang 2.4
?jakarta commons-beanutils 1.7.0
?jakarta commons-collections 3.2
?jakarta commons-logging 1.1.1
?ezmorph 1.0.6
O link da página:
http://json-lib.sourceforge.net/index.html
obrigado!
|
 |
|
|
ricardojlrufino wrote:
Se vc olhou no firebug e esta vendo os dados, significa que o erro he na camada de apresentacao.
vc pode ver o que o: objeto.getObject() esta retornando, usando o firebug.
basta no seu codigo js colocar.
console.debug(objeto.getObject());
que ele vai mostrar o objeto no firebug, e esclarecer algumas duvidas..
Olá Ricardo,
coloquei o que me sugeriu no firebug e o que notei é que usando o JSONObjectAjaxRenderer() a resposta é retornada no formato:
Code:
em comparação com outro trecho do código onde uso o JSONGenericRenderer(), a resposta é :
Code:
Não sei porque, mas o JSONGenericRenderer() não retorna mais que 2 niveis do meu objeto, porém ele funciona normal no javascript ( obs: já tentei colocar o parametro 4 JSONGenericRenderer(4), mas não funciona) , fazendo , já o JSONObjectAjaxRenderer() retorna os 4 niveis que preciso, porém não funciona no javascript.
Tento pegar o objeto json retornado fazendo:
Code:
var objetoJson = new mtw.response(transport);
var objeto = objetoJson.getObject();
Isso estaria errado?
Obrigado
|
 |
|
|
pessoal,
Não consigo utilizar o JSONObjectAjaxRenderer()
Alguém poderia me ajudar?
O problema é quando vou utilizar lá no cliente usando
Code:
var objetoJSON = new mtw.response(transport);
Meu objeto em Java é um objeto de 4 níveis exemplo:
Pais -> Cidades - > Bairros -> Ruas
Ouseja, Pais tem uma lista de Cidades, Cidades tem uma lista de Bairros e Bairros tem uma lista de Ruas.
São lista de Beans,
Exemplo:
List<Cidades> é um atributo de Pais
no javascript não consigo ler as propriedades dos objetos em nenhum nível
Eu tentei :
Code:
Era para retornar o nome da cidade, mas não retorna nada
O objeto Json está sendo retornado, com um plugin para firefox eu vejo ele com todas as estruturas ok, mas quando tento utilizá-lo no javascript, não consigo...
Alguém tem alguma idéia?
Obrigado
|
 |
|
|
Pessoal,
Por motivos da procura de uma solução para um problema que preciso resolver, acabei me deparando com uma nova "onda" que está sendo falada na web, ou seja, websockets:
"Mas a segunda versão é mais interessante, porque usa uma tecnologia que está disponível no HTML 5, chamado WebSocket. Assim como o XmlHttpRequest, será um componente acessível por Javascript disponível em todo browser que implementar HTML 5. Já existe no Google Chrome 4.x, no Safari/WebKit e no Firefox 3.7."
"Com o WebSocket é possível abrir uma conexão HTTP, mantê-la aberta, ?escutar? seu stream por novas mensagens e reagir a elas via javascript e inclusive enviar novos dados (como uma nova mensagem), tudo na mesma conexão, sem precisar passar pelo peso da rotina de abrir conexão, enviar/receber dados, fechar conexão e repetir daqui a alguns segundos. Ou seja, a vantagem é diminuir a quantidade enorme de conexões batendo no servidor para uma ordem de grandeza menos."
Segue alguns links
http://www.w3.org/TR/websockets/
http://jwebsocket.org/
http://en.wikipedia.org/wiki/WebSockets
http://akitaonrails.com/2010/01/12/criando-um-chat-com-reactor-e-websockets
No meu caso, quero evitar requisições ajax sem ter nada novo no servidor, porém, não consigo saber com antededência de quando as informações vão estar lá, por isso não dá para programar um time de forma eficaz, eu até programo, mas posso perguntar ao servidor antes do tempo ou depois do tempo que a informação está disponivel.
Usando websockets, não me preocupo, o servidor assim que tiver algo novo me informa.
Bom é mais ou menos essa idéia.
Tem algo no menta que poderia estar trabalhando com websockets?
Abraços a todos!
|
 |
|
|
Lobo wrote:
Olá Rodrigo,
O Mentawai é um framework web Action-Based logo
problemas relacionados ao desenvolvimento de aplicações web
no modelo request-response o framework é uma excelente opção.
Então sobre o framework mentawai o que posso te informar é isso,
as demais questões são referentes à arquitetura do seu projeto pessoal.
Lobo,
Agradeço pela ajuda, aliás, agradeço a todos que contribuem aqui no fórum que sempre tem ajudado.
É bom sabermos que não temos apenas um framework a disposição, mas também pessoas qualificadas e competentes para ajudar pessoas que estão começando com eu...
Obrigado, valeu mesmo!
|
 |
|
|
Boa tarde pessoal!
Estou com a seguinte dúvida:
Preciso desenvolver um Sistema para monitoramento de produção, será assim:
Um equipamento eletrônico monitora a fabricação de um dado produto.
Este equipamento estará ligado em um PC local
Junto com esse PC vai ter uma tela com interface gráfica da quantidade de produtos fabricados por hora em um turno de trabalho, que ficará disponivel para consulta no próprio posto de trabalho.
Toda vez que o funcionário terminar um produto, o equipamento eletrônico automaticamente enviará informações para o PC local.
Essas informações devem ser enviadas para um servidor.
A interface gráfica local deve ser atualizada para mostrar a nova realidade da quantia de produtos fabricados.
Os dados que ficarem no servidor poderam ser analizados a qualquer tempo pela gerência, mesmo tendo acabado o turno, ou seja, deve ser mantido um histórico de todo o processo.
O que eu pensei:
Na máquina [ PC ] local, rodar um aplicativo ( em java ) em background para ficar ouvindo o equipamento eletrônico ( comunicação porta serial entre os dois ).
Assim que receber informações desse equipamento, o aplicativo entre em contato com uma aplicação no servidor via http ( java - gerenciado pelo mentawai) e essa aplicação no servidor chama o SGBD H2 database para gravar os dados.
De tempo em tempo a interface gráfica ( uma aplicação usando ajax e jquery - Browser ) solicita ao servidor uma atualização de dados.
A duvida é:
Estou mais ou menos no caminho?
Serão varios clientes ( +/- uns 50 ) mandando informações e lendo tb em um tempo bem curto, tipo de segundo em segundo.
Será que o Servidor aguenta?
Com ajax serão abertas e fechadas as conexões não é ( de um em um segundo )? Isso causa degradação do sistema servidor?
Quais são os riscos de um sistema assim?
Gravar dados concorrentemente, obviamente dados distintos uns dos outros, no SGBD H2, dá certo, funciona, ou pode dar deadlock?
Alguém pode me orientar?
Agradeço!!!
|
 |
|
|
Sim robertwgil !
É isso mesmo, passo sempre pela action primeiro a qual acessa meu service, portanto, devo passar meu usuário como parâmetro para o Service?!
Foi o que pensei!
Obrigado!
|
 |
|
|
Olá Pessoal,
A dúvida é a seguinte:
Defini uma Action que estende BaseLoginAction
Coloquei meu objeto Usuario na setUserSession():
setUserSession(usuario);
Agora quero pegar esse usuario em uma classe de negócio ( Service ), só que esse Service não estende de nenhuma Action.
Como tenho que fazer?
Aparentemente o Service não enxerga a getUserSession(usuario) ou estou fazendo algo de errado?
Se isso não for possivel, tenho que passar o usuario no construtor da meu Service, seria isso?
Ou teria outro modo mais elegante de se fazer isso?
Obrigado!
|
 |
|
|
Pessoal,
Como faço p retornar um objeto que tenha 4 niveis atrave´s de solicitação Ajax...???
Ou seja, tenho um Objeto1 que tem como atributo o Objeto2 que tem como atributo o Objeto3 que tem como atributo o Objeto4 que tem a propriedade que quero ver na minha jsp...
Objeto1
---> Objeto2
---> Objeto3
---> Objeto4
--->propriedade
Exemplo:
Objeto Pais é composto por um Objeto estado que é composto por um Objeto Cidade que é composto por um objeto Bairro que por sua vez tem a propriedade Rua que quero apresentar na minha jsp...
Entao faço uma requisição via ajax mas preciso saber como vou retornar esse objeto , como faço na Action e no Application Manager?
Observação: No meu caso, o objeto principal não vai ter uma lista de outros objetos...tipo, o Pais vai ter apenas um objeto Estado, não uma lista de estados, assim como não vou ter uma lista de Cidades nem uma lista de Bairros...
Se alguém puder me ajudar, já agradeço!
Obrigado
|
 |
|
|
Olá Ricardo...
Obrigado pela resposta já entendi como fazer na action, porém, gostaria que me explicasse como criar essa nova constante AJAX_SUCCESS e como fazer no application manager...
Obrigado
|
 |
|
|
|
|