Dettagli dell'esempio Client Faces |
Panoramica degli esempiL'esempio portafoglio imita un'applicazione di gestione portafoglio basata su Web. Lo scopo consiste nel consentire agli utenti di visualizzare tutti i propri portafogli anche graficamente, navigare tra essi ed aggiornarli regolarmente in base al corso azionario inoltrato alla pagina da un servizio Web. Gli utenti inoltre saranno in grado di modificare le quantità delle azioni per analizzarle. L'esempio hello world dimostra le capacità del framework del client Faces mostrando l'impostazione di un MVC (Model View Controller) in una pagina con un modello di esempio molto semplice ed utilizzando due campi di input come controlli. |
Documentazione applicazione portafoglioL'esempio portafoglio imita un'applicazione di gestione portafoglio basata su Web. Il modello per questa applicazione dispone di un oggetto principale, che contiene una raccolta di utenti e di titoli. Inoltre contiene un riferimento al singolo oggetto Titoli utilizzato come segnaposto per inviare e ricevere dati dai servizi Web nell'esempio. Per quanto riguarda gli utenti, ciascun utente può disporre di nessuno o diversi portafogli, e ciascun portafoglio può avere nessuna o più posizioni. Ciascuna posizione fa riferimento a un titolo. Di seguito è riportata una spiegazione della configurazione dei diversi controlli nella pagina. La pagina contiene due schede. La prima scheda contiene tre pannelli. Il pannello Vista ad albero mostra un'associazione Vista ad albero ad un elenco di utenti connessi all'elemento principale e l'elenco
dei portafogli di ciascun utente. Il pannello Griglia dati mostra un'associazione Griglia dati alle posizioni del
portafoglio selezionato. Il pannello Completo, mostra la Struttura ad albero e la Griglia dati con la stessa configurazione
del pannello Struttura ad albero e e Griglia dati, uno affiancato all'altro. Di seguito è riportato un breve riepilogo delle interazioni tra i controlli Ciascun controllo è associato indipendentemente al modello, quindi qualsiasi modifica apportata ai dati del modello verrà riflessa nel controllo. In aggiunta a queste associazioni implicite, esistono alcune associazioni esplicite tra i controlli. Quando nella Vista ad albero viene evidenziato un portafoglio, la Griglia dati e il Grafico vengono aggiornati con l'oggetto Portafoglio evidenziato e vengono aggiornati in modo da visualizzare le posizioni nel portafoglio. Questo tipo di sistema di eventi viene creato tra la Vista ad albero nel Pannello Struttura ad albero e la Griglia dati nel pannello Griglia dati ed inoltre tra la Vista Struttura del pannello Completo e la Griglia dati nello stesso pannello e il Grafico nel pannello Grafico. Un secondo tipo di evento creato si verifica tra la Griglia dati del pannello Completo e l'oggetto titolo segnaposto. Quando viene evidenziata una riga nella Griglia dati, tutti i campi nell'oggetto titolo relativi a tale posizione vengono copiati nei campi corrispondenti dell'oggetto titolo segnaposto. Come risultato, i valori dei campi di input ed output nel pannello Servizio Web, vengono aggiornati. Per richiamare il servizio Web Titoli per ottenere la quotazione del titolo per un determinato simbolo, fare clic sul pulsante "Recupera informazioni" nel pannello Servizi Web. I valori visualizzati dai controlli del modulo nel pannello Servizio Web, verranno aggiornati con il valori ricevuti dal servizio Web Titoli. È anche possibile modificare le quantità di titoli nella Griglia dati del pannello Completo. Modificando la quantità dei titoli, il grafico e la colonna Gains/Losses verranno aggiornati automaticamente. È anche possibile sincronizzare le modifiche apportate ai dati sul client con il server scegliendo Fine nel panello Completo. |
Documentazione applicazione Hello WorldPer questa applicazione, sul server, si dispone di una classe semplice chiamata Hello che contiene un attributo chiamato text di tipo Stringa. Sul client, è stato esportato lo stesso modello in JavaScript e nel browser vengono visualizzati due campi di testo di input, che verranno entrambi associati all'attributo text dell'oggetto Hello. Quando si aggiorna il valore di un controllo, il campo di testo dell'oggetto Hello viene modificato, e il valore verrà propagato agli altri controlli senza ritornare al server. Se si modifica il valore della stringa nella prima casella di controllo del testo di input in "Hello World!!!", il controllo attiverà un evento che aggiornerà il modello dati evidenziato (sul client) e spostandosi fuori dalla prima casella di testo (fare clic esternamente alla casella o passare alla seconda casella di testo), il valore nella seconda casella verrà modificato in "Hello World!!!" perché anch'esso è collegato allo stesso attributo dello stesso oggetto del primo controllo. |