Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026
In occasione del proprio Architecture Deep Dive 2025 Qualcomm ha mostrato in dettaglio l'architettura della propria prossima generazione di SoC destinati ai notebook Windows for ARM di prossima generazione. Snapdragon X2 Elite si candida, con sistemi in commercio nella prima metà del 2026, a portare nuove soluzioni nel mondo dei notebook sottili con grande autonomia
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
DJI Mini 5 Pro porta nella serie Mini il primo sensore CMOS da 1 pollice, unendo qualità d'immagine professionale alla portabilità estrema tipica di tutti i prodotti della famiglia. È un drone C0, quindi in un peso estremamente contenuto e che non richiede patentino, propone un gimbal rotabile a 225 gradi, rilevamento ostacoli anche notturno e autonomia fino a 36 minuti. Caratteristiche che rendono il nuovo drone un riferimento per creator e appassionati
ASUS Expertbook PM3: il notebook robusto per le aziende
ASUS Expertbook PM3: il notebook robusto per le aziende
Pensato per le necessità del pubblico d'azienda, ASUS Expertbook PM3 abbina uno chassis particolrmente robusto ad un pannello da 16 pollici di diagonale che avantaggia la produttività personale. Sotto la scocca troviamo un processore AMD Ryzen AI 7 350, che grazie alla certificazione Copilot+ PC permette di sfruttare al meglio l'accelerazione degli ambiti di intelligenza artificiale
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 02-12-2011, 17:14   #1
mux85
Senior Member
 
L'Avatar di mux85
 
Iscritto dal: Feb 2006
Messaggi: 958
[Java-JSF] Aggiungere componenti dinamicamente

Ciao a tutti, ho iniziato da pochi giorni a lavorare con JSF e avrei bisogno di una mano. Ho una pagina con un menù a tendina e un pulsante, vorrei che quando si preme il pulsante vengano aggiunti alla pagina dei componenti (text input, check box, ecc...) in base a cosa c'è selezionato nel menu.
So come associare un action listener al pulsante ma dal suo interno non riesco ad aggiungere contenuti alla pagina in quanto nel context (ottenuto con FacesContext.getCurrentInstance()) il ResponseWriter è null, quindi quando chiamo la encodeEnd di un qualsiasi componente ricevo una NullPointerException (invece una semplice addMessage funziona).
Provando a fare la stessa cosa dentro a un componente creato da me invece che nell'action listener tutto funziona correttamente perchè il context (parametro di input di encodeBegin) contiene un ResponseWriter. Però in questo modo i componenti vengono creati subito e non alla pressione del pulsante.
Come faccio a inizializzare quel ResponseWriter?
O sto sbagliando completamente approccio?
Grazie a tutti
mux85 è offline   Rispondi citando il messaggio o parte di esso
Old 03-12-2011, 12:13   #2
mux85
Senior Member
 
L'Avatar di mux85
 
Iscritto dal: Feb 2006
Messaggi: 958
UP
mux85 è offline   Rispondi citando il messaggio o parte di esso
Old 03-12-2011, 12:19   #3
gokan
Senior Member
 
L'Avatar di gokan
 
Iscritto dal: Apr 2002
Città: Palermo
Messaggi: 4913
Ciao, ti consiglio un altro approccio.
Quando hai una pagina con dei componenti jsf e vuoi mostrare o nascondere alcuni di questi componenti in base a delle necessità o controlli con logiche particolari ti conviene utilizzare la proprietà rendered.
Questa proprietà impostata a true piuttosto che a false ti consenti di visualizzare o nascondere il componente nella pagina.

Ti faccio un esempio classico.
Supponiamo che vuoi visualizzare una coppia label + inputText in base ad una proprietà del tuo backing bean jsf.

Codice PHP:
<h:panelGrid id="panel" columns="2" border="1" rendered={userBean.visualizzaPannello}>
  <
h:outputLabel for="username" value="#Nome" />
  <
h:inputText id="username" value="#{userBean.name}" />
</
h:panelGrid
Nel tuo backing bean, alla pressione di un pulsante, quando scateni una action postresti decidere di impostare la proprietà a tuo piacimento.

boolean visualizzaPannello = true; //oppure a false

Codice:
public class UserBean{

private boolean visualizzaPannello = true; //oppure a false

//..getter e setter

//action
public String faiQualcosa(){
 if(visualizzaPannello == true) 
    visualizzaPannello = false;
  else visualizzaPannellon = true;
  
return "laStessaPagina";
 }

}
Ciao
__________________
Sun Certified Java Programmer - Sun Certified Web Component Developer - Sun Certified Business Component Developer
gokan è offline   Rispondi citando il messaggio o parte di esso
Old 03-12-2011, 15:44   #4
mux85
Senior Member
 
L'Avatar di mux85
 
Iscritto dal: Feb 2006
Messaggi: 958
Quindi si tratterebbe solo di mostrare/nascondere elementi?
Se è così non si adatta al mio caso. Non posso semplicemente mettere tutti gli elementi possibili e mostrare quelli necessari. In pratica nel menu a tendina io seleziono un tipo di documento e da un file xml vado a leggere le proprietà di quel particolare tipo di documento per mostrare dei campi da compilare e fare una ricerca in base a quei campi. Caricare in anticipo tutti i tipi possibili mi sembra parecchio sconveniente se non impossibile.
Grazie per il suggerimento ma ne avete altri?
mux85 è offline   Rispondi citando il messaggio o parte di esso
Old 04-12-2011, 15:58   #5
gokan
Senior Member
 
L'Avatar di gokan
 
Iscritto dal: Apr 2002
Città: Palermo
Messaggi: 4913
Non devi caricare in anticipo tutti i casi possibili.

Supponiamo tu abbia il caso di due menu a tendina classici come provincia e comuni.

Selezioni la provincia, se vuoi cliccki un pulsante (o in alternativa usi un componente ajax enabled) e quindi carichi il menu dei comuni.

Quando cliccli il pulsante tu esegui un metodo action che fa qualcosa di simile.

public String dammiComuni(){
List<Comune> comuni = ejb.cercaComuniDaProvincia(provincia);
...
}

l'oggetto provincia usata è una stringa che sta dietro il backing bean (ed è usata nel value della prima <h:selectOneMenu>).

Con la lista di comuni ti costruisci invece la seconda tendina (che inizialmente vuota ed invisibile).

Spero di esserti stato utile.
__________________
Sun Certified Java Programmer - Sun Certified Web Component Developer - Sun Certified Business Component Developer
gokan è offline   Rispondi citando il messaggio o parte di esso
Old 05-12-2011, 09:39   #6
mux85
Senior Member
 
L'Avatar di mux85
 
Iscritto dal: Feb 2006
Messaggi: 958
Grazie ma mi manca ancora qualcosa. Provo a spiegare un po' meglio cosa devo fare così magari potete aiutarmi ulteriormente.
A seconda di cosa c'è selezionato nel primo menu a tendina (che indica un tipo di documento, ad esempio: fattura, bolla di trasporto, scheda di un dipendente, ecc...) una volta premuto il tasto devo far comparire dei campi che cambiano in base a cosa c'è selezionato. Non devo riempire un altro menu a tendina. In un caso potrei aver bisogno di due campi di testo e una checkbox (con relative etichette), un'altra volta un campo di testo, una checkbox e una combo. Insomma il numero e il tipo di campi può cambiare radicalmente da un tipo di documento all'altro. Posso lo stesso usare il metodo che mi suggerisci? Se si mi sfugge come, puoi spiegarmi meglio? Grazie
mux85 è offline   Rispondi citando il messaggio o parte di esso
Old 05-12-2011, 10:06   #7
gokan
Senior Member
 
L'Avatar di gokan
 
Iscritto dal: Apr 2002
Città: Palermo
Messaggi: 4913
In linea teorica potresti usare l'approccio sopra e mettere dei panelgrid per ogni tipo di documento.
Da quello che mi dici, ad esempio, si potrebbe usare un approccio ancora diverso, utilizzando una jsp diversa per ogni tipo di documento. In una pagina iniziale si potrebbe decidere il tipo di documento e scegliendo un documento piuttosto che un altro l'utente venga direzionato su una pagina/jsp/xhtml diversa.

Bye
__________________
Sun Certified Java Programmer - Sun Certified Web Component Developer - Sun Certified Business Component Developer
gokan è offline   Rispondi citando il messaggio o parte di esso
Old 05-12-2011, 10:31   #8
mux85
Senior Member
 
L'Avatar di mux85
 
Iscritto dal: Feb 2006
Messaggi: 958
La nuova pagina da usare però andrebbe costruita a priori per ogni tipo di documento no? Io invece vorrei leggere i campi da creare da un file xml al momento del caricamento della pagina
mux85 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026 Qualcomm Snapdragon X2 Elite: l'architettura del...
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice Recensione DJI Mini 5 Pro: il drone C0 ultra-leg...
ASUS Expertbook PM3: il notebook robusto per le aziende ASUS Expertbook PM3: il notebook robusto per le ...
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo Test ride con Gowow Ori: elettrico e off-road va...
Recensione OnePlus 15: potenza da vendere e batteria enorme dentro un nuovo design   Recensione OnePlus 15: potenza da vendere e batt...
Superati 13.300 MT/s per DDR5: ad ASUS e...
L’evoluzione dell’IA nelle imprese: la v...
Le storie in evidenza di Instagram torna...
Addio GeForce RTX 5060 e Radeon RX 9060?...
Arriva Hisense Déco TV S5Q, estet...
Aggiornata TOP500, la classifica degli H...
Noctua NH-D15 Chromax.black è rea...
NVIDIA aggiorna DGX Spark: nuovo kernel,...
Con Work IQ, Copilot per Microsoft 365 i...
Azure Cobalt 200: svelata la nuova CPU A...
Intel a tutto tondo: tra processi in ram...
AMD FSR Redstone arriverà ufficia...
L'Olanda 'cede' alla Cina: retromarcia t...
Stagione 1 al via: tutte le novità...
TikTok rafforza trasparenza e benessere ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 21:37.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v