[JSF] – RichTabPanel “some” no IE6/7

 

 

 

 

 

Para os que utilizam RichFaces e estão passando pelo problema onde após uma requisição AJAX as abas do TabPanel somem(no IE6/7, seus problemas “se acabaram-se”… =)

Procurando na net, vi que há um relato no JIRA do RichFaces informando sobre este bug. Disseram que este problema ocorre quando o componente <rich:tabPanel> está dentro de um div(Absoluto, se não me engano). Desculpem não postar o link do Jira mas não o encontrei ao criar esse post.

 

Para resolver o problema eu precisei criar um selector do Rich/JQuery e aplicar um css para esconder/mostrar a célula que possui as abas.

Ficou assim:

Status de requisições AJAX invocando a funcção javascript do selector:

<a4j:status id="stAjax" onstop="reloadTabs();" />

E o selector:

<rich:jQuery id="reloadTabs" name="reloadTabs" selector=".rich-tab-bottom-line" 
timing="onload" query="css('display', 'none').css('display','inline')" />

Espero ter ajudado.

 

Abraços.

RichFaces – Calendário com mês e ano(MM/yyyy)

Olá, há um tempo, o Flávio Abel e eu precisamos utilizar o componente do RichFaces(JSF1.2) para datas porém só seria possível escolher mês/ano.

Para isso, criamos o código abaixo.

<rich:calendar enableManualInput="true" id="myDate"  
inputClass="maskDateDDYYYY" styleClass="special" showWeekDaysBar="false" showFooter="false"
value="#{mbean.myDate}"
oncurrentdateselected="event.rich.component.selectDate(event.rich.date)"
datePattern="MM/yyyy" locale="pt_BR" inputSize="7" required="true">
 <s:convertDateTime pattern="MM/yyyy" />
 <f:attribute name="maxlength" value="7" />
</rich:calendar>

E a aplicação da máscara com JQuery:

<rich:jQuery id="unMskDateDDYYYY" selector=".maskDateDDYYYY" timing="onload"
 query="unmask()" name="unMskDateDDYYYY" />
<rich:jQuery id="maskDateDDYYYY" selector=".maskDateDDYYYY" timing="onload"
query="mask('99/9999',{placeholder:' '})" name="maskDateDDYYYY" />

E por fim, crie a folha de estilo:

.special tr[id]{ display:none; }


Espero que seja útil.

WebService MTOM: UnsupportedMediaException – E agora?

Pessoal,

Recentemente passei por um problema ao criar um cliente para um webservice construído com JAX-WS e rodando no Tomcat 6.0.14.
O meu webservice utilizava o mecanismo MTOM.
O problema era o seguinte:

Quando um servidor SnowLeopard “subia” o webservice e também em um SnowLeopard a aplicação cliente era executada ocorria o seguinte erro:


Exception in thread "main" com.sun.xml.internal.ws.server.UnsupportedMediaException: Unsupported Content-Type: text/html;charset=utf-8 Supported ones are: [text/xml]

O João Zarate e eu pesquisamos e encontramos várias sugestões na internet porém nada resolvia nosso problema. Mais tarde, percebemos que o erro ocorria apenas quando o retorno do arquivo binário era vazio, ou seja, quando o webservice retornava um arquivo com 0KB.

Como no nosso caso sempre haveria um retorno, consideramos o problema como resolvido.

Realizamos os seguintes testes:
- Webservice rodando em LINUX:
- Cliente SnowLeopard: OK
– Cliente Windows: OK

- Webservice rodando em WINDOWS:
- Cliente SnowLeopard: OK
– Cliente Windows: OK

- Webservice rodando em SnowLeopard:
- Cliente SnowLeopard: FAIL
- Cliente Windows: OK

Conclusões:
- Não encontramos de fato o motivo de o erro estar ocorrendo(Cremos que seja algum problema de SO ou da JVM do SnowLeopard);
- Vimos na internet que o erro pode ocorrer por situações que não eram semelhantes à nossa.

Espero ter ajudado de alguma forma e se alguém tiver algo que possa contribuir, fique à vontade.

Alguns links interessantes:
Implementando WebService com JAX-WS
Implementando MTOM
MTOM W3C

Até.

Fonte não encontrada(IReport/Jasper). E agora?

Olá amigo,

Recentemente uma pessoa me perguntou sobre um erro que ocorria apenas em ambiente de produção ao gerar relatórios.
O erro era: JRFontNotFoundException.

Vimos na documentação do Jasper que isso ocorre a partir da versão 3.6.1 e para corrigir temos duas opções:

Ignorar a fonte: Para tanto, você deverá criar o arquivo jasperreports.properties(Que deverá estar no classpath da sua app) com a seguinte chave:

net.sf.jasperreports.awt.ignore.missing.font=true

Anexar a fonte: Para tanto, você deverá … ler a documentação pois eu não tive muito tempo de detalhar os passos aqui(Apesar de ser super simples)… ehehe

Até mais:

Fonte: http://jasperreports.sourceforge.net/api/net/sf/jasperreports/engine/util/JRFontNotFoundException.html

Growl Flash Messages – CakePHP

Olá,

Acabo de postar um artigo no Bakery sobre como utilizar Growl Flash Messages com o framework CakePHP.

O Link do artigo é:
Growl Flash Message

Para copiar o projeto, faça o download aqui.

Abaixo, uma imagem das mensagens em Growl(Alerta, Sucesso, Erro).
Growl Flash Message

Erro ao consumir webservice com MTOM

Recentemente precisei criar um webservice com base no mecanismo mtom.

Quando fiz a prova de conceito funcionou perfeitamente, porém, quando apliquei no projeto ocorria o seguinte erro:

java.lang.NullPointerException         at
com.sun.xml.stream.writers.XMLStreamWriterImpl.getProperty(XMLStreamWriterImpl.java:441)at

Isso estava ocorrendo devido ao uso da biblioteca sjsxp-1.0.1.jar. Ao remover do meu projeto, funcionou corretamente.

No meu caso, essa biblioteca não era necessária.

Considerações:

- Não testei com a versão mais nova dessa biblioteca. Caso você teste, poste aqui o resultado;

- Não considero uma boa prática realizar transferência de arquivos via webservice mas pode ser que um dia você precise(Assim como eu precisei).

=)

Até mais!

IGTI: O Papel Estratégico do Arquiteto de Software

IGTI: O Papel Estratégico do Arquiteto de Software

Criança sem educação deve ser corrigida assim!

Problema com maven para projeto web?

Olá, serei breve neste post. Passei por um problema ao incorporar o maven em um projeto web que já existia. Utilizando o plugin do eclipse para criar o pom.xml e ao rodar o comando “install”, ocorria o seguinte erro:

Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode)

Até encontrar a solução, encontrei várias alternativas na internet, no entanto a única que funcionou comigo foi a definição do plugin abaixo:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1-beta-1</version>
<configuration>
<webXml>WebContent/WEB-INF/web.xml</webXml>
</configuration>
</plugin>

Copiem cada linha abaixo, para que funcione corretamente.

Abraço a todos e sejam felizes. =)

Problema com pesquisa na barra de tarefas do Windows 7

Olá pessoal.

Faz um bom tempo que não posto nada aqui, porém eu sempre visito o meu próprio blog para ver se há alguma novidade(heheh).

Então, vamos lá!

Hoje eu vou deixar uma dica para quem está passando pelo mesmo problema que eu passei na utilização do Windows 7. Um “belo” dia a opção de pesquisa da barra de tarefas parou de funcionar. Qualquer palavra digitada sempre retornava um arquivo com o nome “Documents”. Pesquisando na net, encontrei uma solução que resolveu o problema:

1. Finalize a tarefa EXPLORER.EXE pelo gerenciador de tarefas(CTRL + SHIFT + ESC).

2. Entre no registro do Windows(Iniciar – Executar: Digite: regedit )

3. Procure pela chave:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FolderTypes\{EF87B4CB-F2CE-4785-8658-4CA6C63E38C6}\TopViews\{00000000-0000-0000-0000-000000000000}

4. Renomeie sua chave para que fique como a chave abaixo:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FolderTypes\{EF87B4CB-F2CE-4785-8658-4CA6C63E38C6}\TopViews\{00000000-0000-0000-0000-000000000000}.BACKUP

5. No gerenciador de tarefas, inicie um novo processo: EXPLORER.EXE.

6. Fim.

Isso foi o suficiente para que eu resolvesse o meu problema.

Eu não encontrei o motivo do problema, mas eu suspeito que seja algum bug do windows na criação de mais de um usuário, pois o mesmo problema ocorreu em uma outra máquina que possuia mais de um usuário criado.

Até mais pessoal.

Link original da solução.

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.