2012-05-01 18 views
5

Quando provo a richiamare Richfaces.showModalPanel ('id') Ricevo che Richfaces non è definito errore javascript e non succede nulla.Richfaces non definito errore javascript

Nella mia applicazione di esempio ho due pagine, una è la vista principale e un'altra pagina è una vista secondaria. La vista secondaria richiama popupPanel nella vista principale utilizzando la chiamata precedente. Non sono sicuro di cosa c'è che non va. Qualsiasi suggerimento sarebbe apprezzato.

Qui ci sono le pagine che ho:

Prima pagina:

<!DOCTYPE html> 
<html lang="en" 
     xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:f="http://java.sun.com/jsf/core" 
     xmlns:h="http://java.sun.com/jsf/html" 
     xmlns:ui="http://java.sun.com/jsf/facelets" 
     xmlns:rich="http://richfaces.org/rich" 
     xmlns:c="http://java.sun.com/jsp/jstl/core" 
     xmlns:richext="http://java.sun.com/jsf/composite/richext"> 
    <h:head> 
     <title>Page Title</title> 

    </h:head> 
    <h:body> 

    <ui:include id="nextPageInclude" src="secondpage.xhtml"/> 
    <rich:popupPanel id="logoutDialogId" 
       width="300" 
       height="50" 
       autosized="true" 
       resizeable="false" 
       moveable="true" 
       modal="true" 
       style="border:5px solid #5e81ac; background-color:#dce3ed;"> 

     <h:outputText value="Inside logout window"/> 
    </rich:popupPanel> 

    </h:body> 
</html> 

Seconda pagina:

<ui:composition xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:ui="http://java.sun.com/jsf/facelets" 
    xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:f="http://java.sun.com/jsf/core" 
    xmlns:a4j="http://richfaces.org/a4j" 
    xmlns:rich="http://richfaces.org/rich"> 
    <h:head/> 
    <a4j:outputPanel id='headerLinks' layout="block"> 
     <ul id="sddm"> 
      <li> 
      </li> 
      <li> 
      </li> 
      <li> 
       <a4j:commandLink id="logoutLinkId" 
           value="Logout" 
           onclick="Richfaces.showPopupPanel('logoutDialogId')" 
           styleClass="linkLogout"/></li> 

     </ul> 
     <div style="clear:both"></div> 
    </a4j:outputPanel> 
</ui:composition> 

EDIT: In un rapporto caricato JS screenshot

enter image description here

Grazie,

risposta

2

Rimuovere il <h:head> dalla composizione includere. Non appartiene a questo e potrebbe corrompere la testina HTML generata. Il <h:head> deve essere dichiarato solo una volta attraverso la vista e preferibilmente solo nel modello principale.

Un'altra possibile causa è che si ha uno Filter che corrisponde al modello URL delle richieste di risorse e che a sua volta non sta facendo il suo lavoro nel modo giusto. Controlla la fonte HTML che gli elementi <script> sono tutti generati e premi F12 in Firebug/Chrome/IE9 ed esplora la scheda (o Rete) per vedere quale browser ha recuperato tutte le risorse JS.


Aggiornamento: il nome dell'oggetto è RichFaces con la maiuscola F, non Richfaces. Correggilo pure.

+0

Hi BalusC, Inizialmente ho provato senza testa nella composizione, non ha funzionato. Poi ho aggiunto h: testa lì, ancora lo stesso problema. Penso che succederà qualcos'altro. – kosa

+0

Ho aggiornato la risposta con un'altra possibile causa. – BalusC

+0

Hi BalusC, screenshot allegato di JS caricato. Contiene jsf.js.xhtml. – kosa

8

Il problema con il codice di cui sopra è che, poiché RichFaces 4.0 non possiamo fare le vecchie chiamate per aprire un popupPanel, il modo in cui hai scritto che è obsoleto, provare questo se si può invece: -

<a4j:commandLink id="logoutLinkId" 
    value="Logout" 
    onclick="#{rich:component('logoutDialogId')}.show();" 
    styleClass="linkLogout"/> 

E allo stesso modo per nascondere la popupPanel utilizzare

<a4j:commandLink id="Close_Modal" 
    value="Close Logout" 
    onclick="#{rich:component('logoutDialogId')}.hide();" 
    styleClass="linkLogout"/> 
+0

Sei corretto. L'ho fatto. Grazie. – kosa

+1

Il benvenuto :) Il mio primo contributo al mondo su stackOverflow – saNiks

+1

Benvenuti in SO. Continua a contribuire con le tue conoscenze. Ha dato +1. Tra l'altro potresti vedere molte domande relative a Richfaces4 da parte mia (Stiamo procedendo con l'aggiornamento da 3.x a 4.2) – kosa

Problemi correlati