Con le Icefaces 2.0, il download di un file creato a runtime attraverso la risorsa di tipo ByteArrayResource è possibile renderlo disponibile correttamente soltanto aggiungendo la seguente entry nel file web.xml:
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/icefaces/*</url-pattern>
</servlet-mapping>
in caso contrario il server restituirebbe errore 404 di risorsa non trovata.
L’oggetto Resource va collegato ad un tag icefaces della pagina web di tipo <ice:outputResource .../> .
LoryX Java for Web 404, byteArrayResources, IceFaces, outputResource, resources, web.xml
Attraverso la dichiarazione di un bean (di livello application, session o request) nel file faces-config.xml, è possibile, tramite le Language Expression (LE), usare gli oggetti ed i attributi nelle pagine web, jsp o xhtml che siano. Ma spesso mi è stato chiesto come è possibile accedere a queste stesse istanze di bean direttamente da codice java di altri bean o classi dell’applicazione JSF Prosegui la lettura…
LoryX Java for Web, Programmazione application, bean, classi, faces-config.xml, facesContext, Java, JavaServer Faces, JSF, map, NetBeans, request, scope, session, static
Spesso mi è stato chiesto come lanciare delle azioni specifiche per una riga di una tabella creata in JSF e IceFaces. Sa soluzione che io preferisco è l’uso dell’oggetto “com.icesoft.faces.component.ext.HtmlDataTable”.
In questo piccolo esempio ho una lista di stringhe riempita da diversi oggetti, che viene visualizzata sottoforma di tabella, ed in corrispondenza di ogni riga ho la possibilità di eliminare quel preciso oggetto dalla lista Prosegui la lettura…
LoryX Java for Web, Programmazione ArrayList, IceFaces, JSF, Tables
Mi sono sempre chiesto perchè fare un tag icefaces apposito solo per inserire il link ad un foglio di stile. Bene, oggi pomeriggio non riuscivo a venire a capo di un problema, ho letto la documentazione del componente in questione, ed ecco svanite tutte le perplessità (il consiglio Prosegui la lettura…
LoryX Java for Web, Programmazione browser, css, foglio di stile, IceFaces, JSF, style
Spesso si ha l’esigenza di compiere delle istruzioni ogni volta che viene richiamata una pagina jsf, prima o dopo della fase di request, o di response etc.. Bene, tramite l’implementazione della classe PhaseListener abbiamo una ampia possibilità di fare ttuto questo in pochissimi passi Prosegui la lettura…
LoryX Java for Web, Programmazione faces-config.xml, fase, JavaServer Faces, JSF, phaselistener, phases, request, restore
Spesso è utile localizzare una applicazione, cioè renderla disponibile in diverse lingue, magari anche in maniera automatica in base alla lingua configurata sul sistema dell’utente utilizzatore. Ecco che JSF ci viene in aiuto in maniera molto semplice e completa.
Io sono abituato a creare per prima cosa un package di nome “.messages” contenente tutti i files che elencheranno le varie parole e frasi Prosegui la lettura…
LoryX Java for Web JSF, languages, lingua, locale, localizzazione, messages, properties
Possiamo aggiornare tutti i client collegati alla nostra applicazione web ad intervalli di tempo regolari, anche senza che avvenga nessuna richiesta da parte di qualsiasi client. Questo viene fatto istanziando un particolare bean nella pagina che vogliamo tenere aggiornata.
prima di tutto creiamo il bean che si occupa di tenere traccia di tutti i client collegati e che faranno parte di un gruppo renderabile: Prosegui la lettura…
LoryX Java for Web faces-config.xml, GlassFish, IceFaces, JSF, polling, push, rendering, timer, tomcat
L’esempio più banale è una semplificazione della chat, un client scrive in un campo di testo qualcosa, e questo qualcosa viene inviato immediatamente a tutto il resto dei client collegati alla web application che hanno sullo schermo l’oggetto che deve essere riscritto.
per far ciò, quando un client si collega ed apre una request, basta inserirlo in un gruppo di sessioni da essere aggiornate Prosegui la lettura…
LoryX Java for Web IceFaces, JSF, push
Con Facelets è possibile usare facilmente dei templates per le nostre applicazioni web, infatti basta sviluppare una pagina dove vengono dichiarati e posizionati tutti i vari contenuti della nostra applicazione, e poi, quando si svuluppano le singole pagine, basta dire quale template si sta usando e quali contenuti si vogliono scrivere. I contenuti che non vengono sovrascritti saranno lasciati uguali a come sono dichiarati nel template padre.
Per capire meglio il tutto creiamo in NetBeans un nuovo progetto con le caratteristiche prefissate. I passi che dobbiamo eseguire saranno: Prosegui la lettura…
LoryX Java for Web, Programmazione facelets, IceFaces, JavaServer Faces, NetBeans, templates