jsf

Mattepuffo's logo
Usare i controller in Java Spring

Usare i controller in Java Spring

Dopo aver studicchiato JSF (Java Server Faces) ho deciso di buttarmi anche su Spring, un altro framework web per Java.

Prima di tutto, è altamento consigliato usare la Spring Tool Suite, ma essendo basata su Eclipse non mi piace per niente.

Quindi alla fine ho deciso di usare il mio caro Netbeans, che però ha un supporto meno vasto.

Quindi vediamo come giocherellare con in controller di Spring una volta che avete creato il progetto.

Il file web.xml, per questo esempio basico, può rimanere invariato.

Mattepuffo's logo
Usare i template in Java Server Faces

Usare i template in Java Server Faces

Chi ha programmato almeno una volta in Asp.NET, conosce già il concetto di Master Page; una pagina HTML che funziona da template, nella quale alcuni parti sono dinamiche e altre fisse.

Di base le JSP non prevedono una cosa del genere, a parte il meccanismo degli include (come PHP).

Però se usiamo un framework, e nello specifico JSF, abbiamo la possiblità di usare i template.

Vediamo un semplice esempio; una volta creato il progetto (Netbeans ci permette di includere da subito le librerie che ci servono) create una pagina che chiamiamo template.xhtml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"   
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:ui="http://java.sun.com/jsf/facelets">
    <h:head>
        <h:outputStylesheet name="style.css" library="css" />
    </h:head>
    <h:body>
        <div id="page">
            <div id="header">
                <ui:insert name="header" ></ui:insert>
            </div>
            <div id="content">
                <ui:insert name="content"></ui:insert>
            </div>
            <div id="footer">
                <ui:insert name="footer"></ui:insert>
            </div>
        </div>
    </h:body>
</html>

Come vedete è una semplice pagina con alcuni tag specifici.

Mattepuffo's logo
Usare Hibernate in una applicazione web

Usare Hibernate in una applicazione web

E' da un pò che voglio scrivere questo articolo, ma tra una cosa e l'altra non ci sono mai riuscito.

Lo trovo un pò complicato, visto anche il numero di passaggi e il tempo che è passato.

Quindi ho deciso che, una volta tanto, non lo scriverò io, ma vi rimanderò al link che ho usato.

Non è nel mio stile lo sapete, ma stavolta ho seguito il concetto "perchè reinventare sempre la ruota?".

Mattepuffo's logo
Internazionalizzazione in JSF

Internazionalizzazione in JSF

Oggi vediamo un semplice meccanismo per integrare la internazionalizzazione nelle nostre applicazioni Java Server Faces.

Prima di tutto consideriamo che useremo dei file di properties, formati dalla combinata chiava=valore.

Secondo poi, ogni file di lingua dovrà essere nominato in questo modo: <nome>_<lingua>.properties.

A parte quello di default al quale dovete levare la parte riguardante la lingua.

Quindi nella nostra applicazione creiamo un package (ad esempio com.mf.language) e dentro ci creiamo due file:

  • messages.properties
  • messages_en.properties

Il primo è per l'italiano, lingua di default.

Mattepuffo's logo
Svuotare un form in JSF

Svuotare un form in JSF

Ultimamente mi sono dato allo studio del framework JSF (Java Server Faces).

Un arogmento molto richiesto è come svuotare un form dopo che è stato inviato (e magari anche validato) senza usare redirect o Javascript.

Perchè il fatto è che il comportamento di default prevede che il form non si svuoti se si rimane nella stessa pagina.

Vediamo quindi come fare; prima di tutto abbiamo un form del genere:

      <h:form id="frm_add_lavoro">
            <h:inputText value="#{lb.titolo}" id="titolo">
            </h:inputText><br/>
            <h:inputTextarea value="#{lb.testo}" id="testo">
            </h:inputTextarea>
            <h:commandButton action="#{lb.addLavoro()}" value="Aggiungi lavoro" />
        </h:form>

La cosa importante è specificare un id al form e un id per ogni componente che ci interessa, in modo da poterli richiamare nel nostro ManagedBean.