Bookmarkability tramite la funzione View Parameters

È ansible raggiungere la includeViewParams=true utilizzando il includeViewParams=true query con navigazione implicita JSF? Se sì, allora come?

Per prima cosa dobbiamo capire che cos’è esattamente “bookmarkability” e che cosa includeViewParams esattamenteViewParams. In questo modo l’effetto della combinazione di entrambi può essere meglio compreso.

La segnalibro riguarda l’URL di richiesta HTTP nella sua forma esatta, come si vede nella barra degli indirizzi del browser. È esattamente l’URL in cui l’utente finale memorizzerebbe nei suoi segnalibri e / o copypaste come un collegamento altrove, come un forum, una chat, qualche social media o solo una nuova finestra / scheda del browser, ecc. Quando viene seguito un collegamento oppure un URL viene copiato nella barra degli indirizzi del browser, quindi per impostazione predefinita verrà generata una richiesta HTTP GET. Se il risultato è esattamente lo stesso ogni volta (lasciando l’authorization / l’autenticazione e la natura sensibile al tempo della pagina – risultati di ricerca, ultime notizie, ecc. Al di fuori di considerazioni), allora possiamo parlare di un URL con segnalibro. Il termine tecnico è “una richiesta HTTP idempotente “.

Se l’utente finale ha comunque inviato in anticipo un modulo POST su tale URL, che non ha eseguito un reindirizzamento, l’URL non è necessariamente bookmarkable. I dati del modulo inviato non si riflettono nell’URL. Copypasting l’URL in una nuova finestra / scheda del browser potrebbe non produrre necessariamente esattamente lo stesso risultato dopo il submit del modulo. Tale URL non è quindi bookmarkable. POST non è idempotente. Ecco perché la navigazione da pagina a pagina tramite i collegamenti dei comandi è sbagliata .

La segnalibribilità viene generalmente raggiunta da un costrutto specifico del percorso URL e / o dei parametri di query. Se guardi Google, i risultati della ricerca sono bookmarkable grazie al parametro q query string.

http://google.com/search?q=bookmarkability

Nei termini JSF, tali parametri di richiesta possono essere impostati (e convertiti e convalidati) tramite :

     

Se è necessario eseguire ad esempio l’impaginazione e si desidera mantenere l’URL bookmarkable, è ansible aggiungere un altro parametro di richiesta:

http://google.com/search?q=bookmarkability&start=10

con

      

includeViewParams="true" pratica include tutti quei parametri di visualizzazione nel collegamento GET generato. Con l’aiuto di questo, i collegamenti di impaginazione possono quindi assomigliare a questo senza la necessità di ripetere il parametro q :

          ... 

(ovviamente generato da alcuni o così)

Quando si entra nella pagina con q=bookmarkability , questo produrrà i seguenti collegamenti

 /search.xhtml?q=bookmarkability /search.xhtml?start=10&q=bookmarkability /search.xhtml?start=20&q=bookmarkability 

Quelli sono URL bookmarkable e il includeViewParams reso la creazione di loro più conveniente.