Hibajelenségek

Az IE-9

Primefaces p:selectBooleanCheckbox hiba: nem műlödik a jelölőnégyzet.

html dokumentum típus megadásával meghatározható, hogy milyen kompatibilitási módban nyitja meg az IE-9 az oldalt. Ha ezt elmulasztjuk beállítani, akkor a form ugyan átküldi a szervernek a bejelölt értéket, a Primefaces css layer viszont egy olyan területet fed el, ahol nincs mögötte checkbox, ezért nem változtatja meg a dekorációt, és vizuálisan nem látszik a bejelölés.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 4.01 Transitional//HU" "http://www.w3.org/TR/html4/loose.dtd">

Esetleg próbáljuk ki a jóval egyszerűbb HTML5 fejlécet.

<!DOCTYPE html>

Javascript hiba

Hibajelentés IE-9 böngészőben:

SCRIPT438: Object doesn't support property or method 'refresh'
primefaces.js.jsf?ln=primefaces&v=3.2&conversationContext=2, line 1 character 3229

A hibajelenség oka: objektum id és widgetVar értéke nem lehet egyenlő Primefaces 3-tól fölfelé. Ez után a hibaüzenet után előjöhet olyan jelenség, hogy egy dialógus ablak megjelenítésekor a dialógus widgetVar értékét érvénytelennek észleli a böngésző.

PrimeFaces 4.0 és IE-10, fileUpload és a dupla kattintás

(issue#5481). Fájl feltöltésekor a Choose gombra duplán kell kattintani, hogy megjelenjen a fájl kiválasztó ablak. Ezen felül nem hívódik meg az oncomplete metódus és az update nem frissíti a felsorolt komponenseket. JavaScript hiba (XML5632): Only one root element is allowed

Használjuk a dokumentum kompatibilitási nézetet:

<meta http-equiv="X-UA-Compatible" content="IE=9; " />

Sajnos IE-8 módban működik csak az oldal, nem használja a File API-t, amivel feltöltés előtt ellenőrizhető a fájl mérete.

Fájlok beemelése

Az xhtml fájlok beemelésekor (pl.: <ui:include src="templates/main_menu.tpl.xml" />) figyeljünk arra, hogy a fájl kiterjesztés lehet ugyan xml, azonban a tartalma xhtml-nek kell lennie.

<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:c="http://java.sun.com/jsp/jstl/core"
    xmlns:p="http://primefaces.org/ui">
...
</html>

Ellenkező esetben (pl. ha xml tartalmat készítünk) az IE-9 nem jeleníti meg a beágyazott tartalmat.

Primefaces 3.3.1

Editor nem küldi át a begépelt tartalmat

Ügyeljünk arra, hogy az p:editor olyan helyen legyen, ahol használjuk. Például ha

<table>
  <tr>
    <p:editor>
    <td>
    </td>
  </tr>
</table>

a fenti helyre tesszük, ez a hiba jelenik meg. Tegyük a táblázat cellájába, és megoldódott a probléma

<table>
  <tr>
    <td>
      <p:editor>
    </td>
  </tr>
</table>

Editor nem működik dialógus ablakban

Adjunk a dialógus ablaknak és a szerkesztőnek widgetVar értéket, és állítsuk át a dialógus ablak megjelenésének effektusát clip-ről vagy folde-ról fade-re. Egyenlőre ez a hiba áthidaló megoldása.

Fájl feltöltés

Ha nem hívja meg a primefaces a fileUpload fileUploadListener-ben meghatározott metódust, valószínűleg hiányzik egy filter bejegyzés a web.xml konfigurációs fájlból, és egy commons-fileupload-xy.jar az alkalmazás könyvtárai közül. A web.xml bejegyzés a következő:

    <filter>
        <filter-name>PrimeFaces FileUpload Filter</filter-name>
        <filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>
        <init-param>
            <param-name>thresholdSize</param-name>
            <param-value>2097152</param-value>
        </init-param>      
    </filter>
    <filter-mapping>
        <filter-name>PrimeFaces FileUpload Filter</filter-name>
        <servlet-name>Faces Servlet</servlet-name>
    </filter-mapping>

Forrás: blogspot.hu

SyntaxError: JSON.parse: unexpected non-whitespace character after JSON data

Fejlesztő környezet újraindítása az alábbi sorrendben:

  • projekt törlése a szerverből (remove)
  • szerver munkaterület törlése (clean...)
  • projekt újrafordítása (clean)
  • projekt újratelepítése (rediploy)

Kapcsolódó fórum téma.

Primefaces hibajegy #4684.