Ferramentas Faces JavaServer - Notas sobre Release


1.0 Limitações
   1.1 Faces Client: O Faces JSP que Possui Componentes Faces Client Sem Ligação Não É Executado no Servidor
   1.2 Faces Client: Os Arquivos Faces JSP com Dados do Faces Client Não São Executados no WAS 5.1 se Tiverem Sido Criados a partir de um WDO Contendo Valores Nulos para os Tipos de Dados Inteiro, Flutuante, Booleano ou Caractere
   1.3 Faces Client: Renomeando o ID dos Componentes de Destino após a Inserção de uma Rotina de Tratamento de Eventos "Definir Objeto Selecionado como Raiz no Componente de Destino"
   1.4 Os Componentes de Upload e Download de Arquivo Não São Suportados em Portlets
   1.5 Faces Client: A Inclusão de uma Linha na Grade de Dados Ligada a uma Lista de Registros Relacionais em Dois ou Mais Níveis de Profundidade no Gráfico de Dados Falha no Servidor
   1.6 Os Campos de Entrada no dataTable Aninhado Não Funcionam Corretamente
2.0 Problemas Conhecidos
   2.1 Problema ao Soltar Dados no Arquivo Faces JSP Derivado do Gabarito de Página
   2.2 A Migração de Recursos do Faces Não Atualiza a Configuração do SDO
   2.3 A Página de Validação Não É Atualizada Corretamente no inputText
   2.4 Faces Client: Erro de Compilação após a Criação dos Dados de Cliente para EGL: "O Tipo Aninhado ... Não Pode Ser Referenciado Utilizando seu Nome Binário"
   2.5 Faces Client: Nem Sempre Funciona Utilizar o mesmo Nome de Modelo para Compartilhar o Modelo de Dados do Faces Client para Dados da Página WDO/SDO em Portlets
   2.6 Faces Client: Os Eventos de Controles do Faces Client Não Funcionam Corretamente no Portal Devido a um viewId Ausente
   2.7 Faces Client: Os Rótulos do Gráfico de Setores Circulares e o Título se Sobrepõem no Graphdraw.
   2.8 Faces Client: Ícones Personalizados de Abertura e Fechamento na Visualização em Árvore Não São Exibidos no Portal
   2.9 Faces Client: Tempo de Execução do Graphdraw - Alguns Valores São Repetidos na Escala do Eixo Y
   2.10 Faces Client: Os Caracteres do Rótulo do Eixo X Podem Ser Recortados no GraphDraw
   2.11 Faces Client: Barra do Cabeçalho/Rodapé Não Incluída na Grade de Dados após a Inclusão Programática de Itens
   2.12 Faces Client: A Chamada do Serviço da Web Falha na Rede
   2.13 Faces Client: Aparecem Avisos na Visualização Problemas ao Criar Dados de Cliente (Avisos de Classes Importadas Não Utilizadas)
   2.14 Faces Client: Solução Alternativa para a Mensagem de Erro "O Componente Faces Client Não Pode Ser Solto antes da Tag clientData"
   2.15 Faces Client: Soltando uma Visualização em Árvore no Código Fonte
   2.16 Soltando um Arquivo de Imagem em um Componente Painéis - Tabulado
   2.17 Faces Client: Avisos de Link Interrompido Podem Aparecer depois de Seguir as Etapas no Guia de Migração para Resolver Problemas Resultantes de Redestinação ao WAS 6.0
   2.18 O Rich Text Editor Não Pode Ser Editado ao Utilizar o Navegador Interno
   2.19 Estado de Página Perdida - O Formulário Não Será Submetido
   2.20 Faces Client: A Grade de Dados Ligada a uma Lista de Registros Relacionais com Apenas uma Coluna Falha ao Ser Executada no Servidor
   2.21 Faces Client: Informações Podem Estar Faltando no Tópico da Ajuda On-line "Migrando Recursos do JavaServer Faces com Componentes Faces Client"
   2.22 A Página JavaServer Face Parece Perder Conteúdo na Submissão

1.0 Limitações

1.1 Faces Client: O Faces JSP que Possui Componentes Faces Client Sem Ligação Não É Executado no Servidor

Não é possível executar um arquivo Faces JSP que contenha componentes Faces Client sem ligação no servidor. Você deve ligar os componentes Faces Client a um objeto de dados de cliente para poder executar no servidor.

1.2 Faces Client: Os Arquivos Faces JSP com Dados do Faces Client Não São Executados no WAS 5.1 se Tiverem Sido Criados a partir de um WDO Contendo Valores Nulos para os Tipos de Dados Inteiro, Flutuante, Booleano ou Caractere

Esse problema é causado por NullPointerExceptions no código interno do WDO. Para solucionar esse problema, substitua o valor nulo no banco de dados por um valor padrão ou faça upgrade de seu servidor para o WAS 6.0. Se fizer upgrade, certifique-se de seguir a seção 'Migrando Recursos do JavaServer Faces com Componentes Faces Client' no guia de Migração."

Nota: O Faces JSP que contém dados de cliente criados a partir de um registro relacional vazio não é executado no WAS 5.1 pela mesma razão. Não há uma solução alternativa fácil para esse problema.

1.3 Faces Client: Renomeando o ID dos Componentes de Destino após a Inserção de uma Rotina de Tratamento de Eventos "Definir Objeto Selecionado como Raiz no Componente de Destino

Se os componentes de destino de uma rotina de tratamento de eventos "Definir objeto selecionado como raiz no componente de destino" forem renomeados após a criação do fragmento da rotina de tratamento de eventos, o JavaScript ficará incorreto. Para solucionar esse problema, exclua o fragmento e recrie-o.

1.4 Os Componentes de Upload e Download de Arquivo Não São Suportados em Portlets

Os componentes Faces que implementam a funcionalidade de upload e download de arquivo não são suportados em portlets. Esses componentes Faces incluem:

1.5 Faces Client: A Inclusão de uma Linha na Grade de Dados Ligada a uma Lista de Registros Relacionais em Dois ou Mais Níveis de Profundidade no Gráfico de Dados Falha no Servidor

Ao submeter um arquivo Faces JSP, depois de incluir uma linha em uma grade de dados ligada a uma lista de registros relacionais que esteja a dois ou mais níveis de profundidade em um gráfico de dados, você recebe uma java.lang.IllegalArgumentException: O Recurso 'CUSTOMERS_ORDERS' de 'CUSTOMERS' não é uma restrição.

Essa é uma limitação no modo como as manipulações do Faces Client são atualizadas. No SDO, todas relações estão contidas (containment=true) no "DatagraphRoot" e cada relação referencia (containment=false) outras relações contidas na raiz. Os DiffHandlers do Faces Client sempre tentam incluir os novos objetos no "pai" em vez do "contêiner".

A solução alternativa para esse problema é criar a lista de registros relacionais para ser atualizada com novas linhas como uma relação de primeiro nível. Por exemplo, se desejar incluir uma linha em uma tabela ORDERS pertencente a um CUSTOMER, em vez de criar uma relação CUSTOMER -> ORDERS e, em seguida, incluir uma linha em ORDERS, você criará uma lista de registros relacionais ORDERS e incluirá uma linha em ORDERS.

1.6 Os Campos de Entrada no dataTable Aninhado Não Funcionam Corretamente

Se você tiver uma dataTable aninhada dentro de uma dataTable (por exemplo, uma propriedade da linha é uma coleta) que tenha componentes de entrada na coluna, o modelo de dados não será atualizado corretamente.

2.0 Problemas Conhecidos

2.1 Problema ao Soltar Dados no Arquivo Faces JSP Derivado do Gabarito de Página

O local de tags geradas pode estar incorreto ao soltar dados em um arquivo Faces JSP derivado de um gabarito de página. Se o gabarito tiver mais de uma área de conteúdo no corpo da página, soltar dados a partir da Visualização de Dados da Página ou da gaveta Dados na Paleta sempre gerará novas tags na primeira área de conteúdo. Se o destino desejado não estiver nessa área de conteúdo, comute para o modo de origem. Em seguida, recorte e cole a origem gerada no local correto. Certifique-se de que todas as novas tags estejam selecionadas, incluindo uma tag h:form adjacente, se existente, e assegure-se também que o local da colagem seja em alguma parte interna de uma tag hx:scriptCollector na área de conteúdo desejada.

2.2 A Migração de Recursos do Faces Não Atualiza a Configuração do SDO

Ao trabalhar com um projeto originalmente desenvolvido utilizando o WSAD 5.1.2, o usuário pode ser avisado para migrar recursos do Faces no projeto. Se o usuário responder YES, o tempo de execução do Faces será automaticamente atualizado para os níveis mais recentes; entretanto, se o WDO foi utilizado para acesso a dados, uma configuração adicional precisará ser executada manualmente:

  1. Crie um novo arquivo temporário Faces JSP no projeto original. (Clique em Arquivo > Novo > Arquivo Faces JSP. Consulte a ajuda on-line para obter assistência.)
  2. Arraste um componente de registro relacional da gaveta Dados na paleta para a página. Escolha para reutilizar os metadados existentes e selecione algum dos arquivos .xml existentes do WDO que estejam listados. Esse processo gera qualquer configuração necessária para continuar utilizando o WDO neste projeto.
  3. Exclua o arquivo JSP temporário.

Para obter informações adicionais, consulte o Guia de Migração do produto.

2.3 A Página de Validação Não É Atualizada Corretamente no inputText

A página de validação do campo inputText pode não ser atualizada corretamente quando um usuário possui vários campos inputText em uma página. Esse problema ocorrerá se os campos inputText tiverem subtags de conversor diferentes. Por exemplo, se um campo inputText estiver utilizando um conversor convertNumber e o outro tiver um conversor convertDateTime, a página de validação não será atualizada corretamente ao comutar entre as tags. Há duas soluções alternativas possíveis: uma delas é comutar para o modo de origem e clicar na validação de filhos ou na tag auxiliar (neste ponto, a página será atualizada). A outra solução alternativa é fechar e reabrir o JSP.

2.4 Faces Client: Erro de Compilação após a Criação dos Dados de Cliente para EGL: "O Tipo Aninhado ... Não Pode Ser Referenciado Utilizando seu Nome Binário"

Os DiffHandlers gerados para dados do cliente EGL possuem sintaxe incorreta para referenciar tipos aninhados. Para solucionar esse problema, edite as classes de mediador de dados de cliente para utilizar a sintaxe correta. Utilize um ponto (.) em vez de um sinal de dólar ($). Por exemplo, se você tiver um código como:

if (_Root instanceof pagehandlers.overdueaccounts$COMPANYNAME)

altere-o para:

if (_Root instanceof pagehandlers.overdueaccounts.COMPANYNAME)

2.5 Faces Client: Nem Sempre Funciona Utilizar o mesmo Nome de Modelo para Compartilhar o Modelo de Dados do Faces Client para Dados da Página WDO/SDO em Portlets

Quando você criar dados de cliente que reutilizem dados de um cliente SDO/WDO existente, certifique-se de reutilizar o arquivo de metadados WDO/SDO e o nome do modelo. Quando você criar o WDO/SDO a partir da visualização Dados da Página, selecione "Reutilizar definição de metadados de um registro ou lista de registros existente." Em seguida, procure e selecione o arquivo de metadados para o SDO que você está reutilizando.

2.6 Faces Client: Os Eventos de Controles do Faces Client Não Funcionam Corretamente no Portal devido a um viewId Ausente

Para corrigir esse problema, certifique-se de que todos os controles do JSF e do cliente JSF tenham IDs exclusivos em todos os portlets utilizados na mesma página do portal. Ainda poderão ocorrer conflitos se a página do portal utilizar portlets desconhecidos com IDs duplicados. Sugerimos que você inclua o nome do JSP como parte do ID para assegurar que ele seja exclusivo.

2.7 Faces Client: Os Rótulos do Gráfico de Setores Circulares e o Título se Sobrepõem no Graphdraw.

Não há uma solução alternativa conhecida para esse problema. Recomenda-se minimizar o uso de rótulos para evitar confusão.

2.8 Faces Client: Ícones Personalizados de Abertura e Fechamento na Visualização em Árvore Não São Exibidos no Portal

Não há uma solução alternativa. Não utilize ícones personalizados de abertura e fechamento na visualização em árvore no portal.

2.9 Faces Client: Tempo de Execução do Graphdraw - Alguns Valores São Repetidos na Escala do Eixo Y

Você poderá perder a precisão na formatação padrão ao plotar uma série de valores de fechamento no eixo y. Essa falta de precisão pode ocasionar a repetição de valores. Para evitar esse problema, escolha a formatação apropriada de número personalizado e não utilize o padrão.

2.10 Faces Client: Os Caracteres do Rótulo do Eixo X Podem Ser Recortados no GraphDraw

Para solucionar esse problema, aumente o tamanho do gráfico.

2.11 Faces Client: Barra do Cabeçalho/Rodapé Não Incluída na Grade de Dados após a Inclusão Programática de Itens

O cabeçalho e o rodapé para a grade de dados não são exibidos nos seguintes cenários:

  1. Quando a grade de dados está ligada a uma lista relacional vazia
  2. Ao incluir itens programaticamente na grade de dados e o número de itens excede a altura da grade de dados

2.12 Faces Client: A Chamada do Serviço da Web Falha na Rede

A chamada do Serviço da Web falha quando você hospeda o serviço da Web e o cliente em duas máquinas servidor diferentes. Não há uma solução alternativa conhecida, embora o Web site da Macromedia tenha publicado algumas soluções para esse problema de domínio cruzado. Recomenda-se hospedar o servidor e o cliente do Serviço da Web no mesmo servidor.

2.13 Faces Client: Aparecem Avisos na Visualização Problemas ao Criar Dados de Cliente (Avisos de Classes Importadas Não Utilizadas)

Para remover esses avisos de seu projeto, clique com o botão direito do mouse na pasta javasource, em seu projeto ou nos pacotes com os avisos. Em seguida, selecione Origem > Organizar Importações no menu de contexto.

2.14 Faces Client: Solução Alternativa para a Mensagem de Erro "O Componente Faces Client Não Pode Ser Solto antes da Tag clientData"

Você pode receber esse erro ao soltar um componente Faces Client em uma página que contenha vários dados de cliente na mesma página. Para solucionar esse problema, comute para a Visualização de Origem do JSP e mova todas as tags <odc:clientData> logo abaixo da tag <h:form>.

2.15 Faces Client: Soltando uma Visualização em Árvore no Código Fonte

Se você soltar um componente árvore na página ou recortar e colar a origem para o componente árvore na página, a tag <odc:tree> poderá acidentalmente ter uma tag <p> como seu pai. Isso fará com que o componente árvore seja processado incorretamente na página HTML resultante. Para solucionar esse problema, exclua as tags <p></p> adjacentes à tag <odc:tree>.

2.16 Soltando um Arquivo de Imagem em um Componente Painéis - Tabulados

Você não pode soltar um arquivo de imagem em um painel tabulado a partir das visualizações Miniaturas ou Explorador de Projetos. Para colocar uma imagem no painel, arraste e solte uma Imagem da gaveta Tags HTML na visualização Paleta e, em seguida, selecione o arquivo de imagem que você deseja soltar.

2.17 Faces Client: Avisos de Link Interrompido Podem Aparecer depois de Seguir as Etapas no Guia de Migração para Resolver Problemas Resultantes de Redestinação ao WAS 6.0

Você pode receber avisos de link interrompido depois de seguir as etapas no guia de migração para redestinar servidores (do WebSphere Application Server V5.1 para V6.0) para projetos que contêm componentes Faces Client. Se você receber esses avisos ou suas páginas não forem exibidas corretamente ao executá-las no WebSphere Application Server v6.0, feche o projeto da Web e, em seguida, reabra-o.

2.18 O Rich Text Editor Não Pode Ser Editado ao Utilizar o Navegador Interno

O Rich Text Editor comporta-se como sendo de leitura quando é executado no servidor utilizando o navegador interno. Esse problema pode ocorrer quando a página é carregada inicialmente ou depois de submeter uma página para o servidor. Utilize um navegador externo para solucionar esse problema.

2.19 Estado de Página Perdida - O Formulário Não Será Submetido

Esse problema resulta da utilização do prefixo Faces no URL para páginas do Faces e nos caminhos relativos para recursos de página (css e imagens). Você pode solucionar esse problema de duas maneiras:

1) Utilize nomes de caminhos completos para recursos de página.

2) Utilize URLs para páginas do Faces que possuem a extensão .faces e não o prefixo faces/ . As páginas do Faces devem ser manipuladas pelo servlet Faces. No arquivo web.xml do projeto, dois mapeamentos são incluídos nesse servlet faces por padrão.

<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>

Nem a pasta Faces nem o arquivo com uma extensão Faces existem na realidade. Você precisa apenas torná-los parte do URL da página da Faces. Para endereçar o page1.jsp, você pode utilizar /faces/page1.jsp ou /page1.faces. Ambos podem ser configurados (por exemplo, você pode utilizar .page como a extensão).

2.20 Faces Client: A Grade de Dados Ligada a uma Lista de Registros Relacionais com Apenas uma Coluna Falha ao Ser Executada no Servidor

Quando uma grade de dados é ligada a dados de cliente criados a partir de uma lista de registros relacionais com apenas uma coluna, a ligação gerada fica incorreta. Por exemplo: #{pc_Index1.surveys[0].NAME} é gerado no lugar da ligação correta {pc_Index1.surveys}. A solução alternativa é editar a origem JSP manualmente para remover o índice extra e o nome da coluna (conforme mostrado no exemplo acima).

2.21 Faces Client: Informações Podem Estar Faltando no Tópico da Ajuda On-line "Migrando Recursos do JavaServer Faces com Componentes Faces Client"

Em algumas versões antigas do tópico da ajuda, "Migrando Recursos do JavaServer Faces com Componentes Faces Client", podem estar faltando informações nos seguintes itens:

Se essas informações estiverem faltando, consulte a versão HTML do Guia de Migração, que está localizada na raiz do primeiro CD ou sob disk1/migrate.html das imagens eletrônicas.

2.22 A Página JavaServer Face Parece Perder Conteúdo na Submissão

Há um problema no qual as páginas JSF (JavaServer Face) parecem perder conteúdo na submissão. Isso pode estar relacionado ao modo como o estado é mantido para a página e como os pedidos são manipulados para os recursos de página (por exemplo, arquivos css e de imagem) especificados com um caminho relativo (por exemplo, theme/stylesheet.css). Para solucionar esse problema, URLs para páginas JSF devem utilizar a opção de extensão .faces. Por exemplo, o URL para a página JSF myPage.jsp seria /MyWebApp/myPage.faces. Essa extensão é definida no arquivo web.xml do projeto. Uma outra opção é escolher para salvar o estado no cliente

Retornar para o arquivo leia-me principal