| Autor |
Mensagem |
|
|
Tobias Pires wrote:O botão que limpa os campos é ajax ? se for de um reRender no campos de texto.
Se não for, o metodo que limpa seus campos deve retornar uma String (a String da propria pagina) ou null, caso contrario a pagina nao vai ser atualizada.
O problema dos componentes sumirem o que pode solucionar: usar h:panelGrid em vez de h:panelGroup.
Os componentes usam "binding" ?
Olá!
O botão que limpa o texto é um h:commandButton com um rich:ajaxSupport dentro, que re-renderiza tudo o que foi limpo...
Com relação à string de retorno da action, eu já retornei a string da página, já retornei a string "", já mudei pra usar um action listener ao invés de action... está estranho... parece que a página simplesmente nao é atualizada... sabe? o estranho é que em 95% dos casos funciona.. normal...
Já o problema dos componentes sumirem eh realmente estranho... vou tentar mudar pra panelGrid conforme voce mencionou... mas porque voce falou isso? Voce já teve algum problema parecido?
Obrigado pela resposta!
abraços!
ceduardo.roque
|
 |
|
|
Boa tarde pessoal, tudo bem?
Estou tendo um problema com uma aplicação simples em JSF com RichFaces e Facelets.
A aplicação tem apenas 4 text fields e dois botões.
Quando eu pressiono o botão pesquisar, um action no meu Managed Bean processa uma query no banco de dados e popula uma lista, que será renderizada por um data table.
O outro botão é um botão limpar, que apenas limpa os campos previamente preenchidos pelo usuário.
O estranho da história é que a aplicação funciona, mas DE VEZ em quando, a página não é renderizada corretamente.
O que está incorreto na renderização é que, por exemplo, se eu pressiono o botão Limpar,eu zero os valores dos componentes, conforme abaixo:
this.nome.setValue(null);
this.nome.setSubmittedValue(null);
this.nomeDaMae.setValue(null);
this.nomeDaMae.setSubmittedValue(null);
this.cpf.setValue(null);
this.cpf.setSubmittedValue(null);
this.dataDeNascimento.setValue(null);
this.dataDeNascimento.setSubmittedValue(null);
this.registros.clear();
Só que no momento da renderização do response (após a execução da ultima linha do método, que é a this.registros.clear(), os valores muitas vezes ainda estão lá.
Uma outra coisa estranha que acontece é o fato de as vezes eu pressionar o botão limpar e alguns componentes simplesmente sumirem... algo assim:
Antes de pressionar o botão:
Nome: <campo texto>
Nome da Mãe: <campo texto>
CPF: <campo texto>
Data de Nascimento: <campo texto>
Após o botão ser pressionado e a action ser executada:
Nome: Nome da Mãe:
<campo texto> CPF:
Data de Nascimento: <campo texto>
No caso anterior, é como se os componentes simplesmente nao fossem renderizados... nos logs do contêiner nao saem nada, e nem no h:messages...
O estranho que em geral funciona, só que AS VEZES isso ocorre, deixando a aplicação instável.
Estou utilizando:
JSF
Facelets
Richfaces
Tomcat 5.5
Alguém já experimentou algo parecido?
Obrigado!
ceduardo.roque
|
 |
|
|
Olá Pessoal!
Existe alguma forma de eu recuperar a partir da minha aplicação WEB um arquivo de propriedades de dentro do diretório conf do Tomcat?
Alguem já teve que fazer isso?
Todas as vezes que uso um properties nas minhas aplicações WEB eu o carrego por:
A partir daí, normal. Só que agora eu preciso carregá-lo a partir do diretório conf do Tomcat.
Obrigado!
ceduardo.roque
|
 |
|
|
Pessoal,
Existe alguma forma de eu acessar um diretório remoto compartilhado em uma rede com domínio Windows através do Linux sem o SAMBA no meio em Java?
Alguém já teve que fazer isso?
Obrigado!
ceduardo.roque
|
 |
|
|
thingol wrote:Bom, eu havia falado em JScript porque ele suporta try / catch ; é mais fácil que o tal do "On Error Go To" do VBScript.
Fala aí thingol,
Tudo bem?
Então, eu comentei essa alternativa aqui no serviço, e o pessoal meio que repudiou... nao porque é ruim, mas porque já existe uma aplicação VBS que faz isso, e isso seria trocar seis por meia duzia.
De qualquer forma, parece que eles querem que seja algo mais controlado mesmo, como se fosse um processo batch.
Dai, chegamos à conclusão de que teria que ser acesso nativo mesmo (talvez usando JNI, JNA, ou o próprio Jacob).
Dei uma olhada no JNA hoje e achei a documentação meio confusa... :(
De qualquer forma eu vou tentar ver qual a melhor alternativa...
Obrigado!
Abraços
ceduardo.roque
|
 |
|
|
thingol wrote:Isso tudo dá para você fazer no seu script VBScript. Basta fazer com que ele retorne (imprima) valores decentes para você poder analisar.
Ahã.
Vou tentar fazer desta forma.
Obrigado pela ajuda. :D
ceduardo.roque
|
 |
|
|
thingol wrote:Crie um script VBScript usando WMI, porque essa é a maneira recomendada pela Microsoft para fazer tal controle, e chame-o pelo Java. Se você não gosta de VBScript, pode usar JavaScript (da Microsoft, não o Rhino), mas de qualquer maneira é melhor fazer isso que quebrar a cabeça com JNI ou talvez com o Jacob.
Obrigado pela resposta thingol.
Mas eu nao sei se isso fará com que eu tenha o controle que eu espero da aplicação, pois eu precisarei tratar todos os pontos de falha (desde a carga do banco até a subida e parada dos componentes COM+ e do IIS). De qualquer forma, vou dar uma olhada no WMI que você sugeriu.
Você já precisou fazer algo neste sentido?
Como voce lidaria com as exceções plausíveis como problemas de rede, permissão para execução de comandos como admin e falha na tentativa de interagir com os serviços do Windows (COM+ e IIS) sendo que estamos falando de componetes nativos do SO?
Obrigado mais uma vez.
ceduardo.roque
|
 |
|
|
Olá Pessoal!
Tudo bem?
Estou com uma necessidade que é a seguinte:
Existe uma aplicação ASP que roda acessando um SQL Server e utiliza uns componentes COM+. Esta aplicação precisa ser atualizada diariamente, num processo BATCH, que fará o seguinte:
1. Atualizará o SQL Server - isso envolve um restore total do banco de dados
2. Criará novos usuários de base neste SQL Server (pois os usuários da base importada nao são os mesmos da aplicação original).
3. Parará o IIS para atualizar a aplicação pelos novos arquivos
4. Parará o componente COM+ para atualizar os componentes.
5. Atualizará alguns outros componentes COM+ de geoprocessamento.
6. Reiniciará o IIS.
7. Testará se tudo está OK.
O problema é que eu preciso fazer isso em Java. Minhas dúvidas estão relacionadas com os pontos abaixo:
- Conseguirei acessar o SQL Server para fazer os restores da base a partir do Java?
- Conseguirei controlar a parada e o início do IIS sem ser via Runtime.exec() (pois eu precisarei ter total controle sobre se ele está no ar, pois a aplicação nao poderá sair do ar).
- Conseguirei via Java parar o serviço COM+ e reiniciá-lo?
- Como testar se a aplicação está OK?
Estava pensando em dar uma pesquisada se existe alguma coisa mais controlável para eu conseguir usar, para saber se minha ações estão surtindo o efeito desejado ou se está ocorrendo alguma exceção. JNI???
Alguém já precisou fazer algo parecido?
Abraços
ceduardo.roque
|
 |
|
|
Fala ai galera!
Procurem ai por Bin Laden! hauhauahuahuahuahuahua
Mto loko esse site aí!
Abraços!
ceduardo.roque
|
 |
|
|
felipeguerra wrote:Esse erro do ID duplicado já ocorreu comigo, mas não investiguei à respeito...com o tempo isso se resolvei sozinho!!!rs
pois é. Como o nosso amigo do post anterior falou, acho que pode ter a ver com o escopo do bean. Vou tentar alterar e ver no que dá.
Obrigado.
ceduardo.roque
|
 |
|
|
Grinvon wrote:Também estou começando com JSF agora, mas especificamente usando a impl da sun, richfaces e facelets.
As vezes há erros aqui de renderização, mas isso as vezes pode ocorrer pelo estado do bean, estamos trabalhado com session scope.
Por que você colocou a data table component no bean? Aqui eu preencho ela de forma direta, as vezes pelo construtor (tela de seleção) ou então pelo método de retorno de uma lista, tudo por uma abstração própria.
Olá... eu também estou usando a mesma versão.
Acredito que o estado do bean possa estar relacionado, pois o meu também é Session scope.
Eu nao coloquei a minha data table component no bean. Para populá-la, eu preencho uma collection que está associada à tag dataTable, em seu atributo value.
De qualquer forma, obrigado. Vou tentar colocar o escopo como request pra ver se tem alguma diferença, mas creio que algumas ações pararão de funcionar.
Obrigado!
ceduardo.roque
|
 |
|
|
Bom dia pessoal!
Tudo bem com vocês?
Estou desenvolvendo com JSF e estou enfrentando algumas situações em que não estou tendo a capacidade de entender se é um problema efetivamente ou se é um bug, ou se é assim mesmo (o que duvido).
Fiz uma tela simples com JSF, RichFaces, Facelets e agora, Tomahawk (mas a situação que vou expor ocorria mesmo antes do Tomahawk).
A tela tem quatro campos de pesquisa, um botão pesquisar e um limpar.
Quando o usuário digita um filtro para a pesquisa, a tela funciona, ou seja, o meu MB acessa classes de modelo, recupera dados do banco e popula uma Collection que está associada a um DataTable, e o mesmo é "re-renderizado" com os dados.
Até aí tudo beleza, foi funciona maravilhosamente bem.
A questão é que as vezes (e repito, as vezes) ocorre de a minha página dar um erro de duplicate id nos componentes (em especial na tabela - DataTable). Esta tabela efetivamente possui um id na tag, que se chama "tabela", que eu coloquei para poder manipular os "Re-Renders" do AJAX.
Só que as vezes este duplicate ID ocorre (por exemplo se eu tento pressionar F5 para Atualizar a página)... mas nem sempre.. só as vezes...
Estranho nao?
Um outro comportamento estranho está no fato de as vezes, alguns componentes nao serem renderizados (como se o servidor houvesse esquecido de renderizá-los)... e os componentes são renderizados novamente após o próximo submit... (por exemplo um dos campos de texto de pesquisa).
Alguem já passou por isso? Estou achando muito estranho, e nao poderei liberar a minha aplicação sem saber o que realmente está acontecendo.
Só uma ressalva, a aplicação funciona... e em situações aleatórias (e não identificadas) este comportamento ocorre... não há mudança em uma linha de nada...
Abraços
ceduardo.roque
|
 |
|
|
Luiz Aguiar wrote:Amigo desculpe mas o Seam esta anos luz de disntância do RoR.
Grivon, se já tem pessoas com bom conhecimentos em Richfaces/JSF na equipe, eu não usaria o Seam. Participei de um projeto que o Seam atrapalhou muito, se fosse em Richfaces apenas, teria tido um resultado bem diferente.
Mas cada caso é um caso, boa sorte.
Concordo. Só que um dos objetivos de o seam ter sido feito foi fazer frente ao Ruby on Rails (isso eu ouvi esta semana da boca de um cara da JBoss que foi no meu trabalho dar uma palestra sobre o Seam). Tudo bem que ele também disse a pachorra de que o Seam "salvou" o JEE... ele quase foi expulso da sala... mas afinal, ele era um representante da JBoss...(na verdade, ele era da Red Hat e ficava no projeto do Seam lá)...
E foi o que eu disse pro cara da Jboss sobre o que você falou: O seam funciona bem pra fazer o trivial (CRUD automático a partir dos wizards do eclipse), mas no dia a dia nao é isso que encontramos, não é mesmo?
Além do que, eu mesmo fiquei fantasiado com a "produtividade" do Seam, mas me sinto mais confortável utilizando RichFaces/Facelets/Faces também.
Abraços
ceduardo.roque
|
 |
|
|
Ola Pessoal!
eu resolvi o problema colocando trocando o componente do command button pelo default do faces.
Antes eu estava usando o componente <a4j:commandButton>, e no seu atributo reRender eu pedia para renderizar a tabela novamente.
Ainda não descobri porque, mas este fato fazia que o reRender nao funcionasse, o que fazia com que a tabela nao fosse renderizada.
Após trocar o command button para <h:commandButton> e colocar dentro dele (nested) a tag <a4j:support>, e nesta sim colocar a tag reRender, para renderizar a tabela, daí funcionou. ( ).
De qualquer forma, agradeço a ajuda de vocês!
Forte abraço!
ceduardo.roque
|
 |
|
|
.paula wrote:Eu fiz isso e realmente ele criou todas aquelas classes.
Mas o que eu preciso criar é o que essas classes vao acessar, entende?
Eu nao tenho acesso ao web service... preciso gerar uma "cópia" dele, p que o lado cliente possa acessar essa cópia.
Entendi... mas dai voce vai ter que criar um web service que tenha os métodos que você quer acessar pra poder testar né?
Para isso, basta criar um Pojo no eclipse, e que tenha o método COM OS PARAMETROS CORRETOS e clica com o botão direito em cima da classe, WEB Services, e Create Web Service.
E pronto, ele já cria o WSDL pro seu "novo" web service. e voce pode fazer o deploy deste no tomcat.
ceduardo.roque
|
 |
|
|
|
|